You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Wiki/pages/WeaponDescriptions武器用法.md

187 lines
7.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

**2023年2月11日**
**对应游戏版本v1.0.3** 皮蛋初版完成
# 根元素
<WeaponDescriptions>
# 类型名
```
<WeaponDescription 元素1=""
元素2=""
……>
<WeaponFlags>
<WeaponFlag value="MeleeWeapon"/>
<WeaponFlag value="NotUsableWithOneHand"/>
……
</WeaponFlags>
<AvailablePieces>
<AvailablePiece id="axe_craft_1_handle"/>
<AvailablePiece id="mace_head_24"/>
……
</AvailablePieces>
</WeaponDescription>
```
# 原版路径
Modules\Native\ModuleData\weapon_descriptions.xml
# 官方文档
[WEAPON SMITHING & CRAFTING PIECES](https://moddocs.bannerlord.com/asset-management/weapon_smithing/)
# 用途
- 锻造武器所有存在的用法。比如,骑枪冲刺用法、架矛用法。
- 或者更常见的是“单手”“双手”,其实在文件里会细分成很多种。
- 比如,两只手共同握持长杆武器的用法,游戏中也叫“双手”。
- 所有锻造武器用法具备的所有行动。例如格挡、持盾防具、单手持武器、挥动攻击、戳捅攻击等。
- 支持该用法的所有武器配件。
- 被CraftingTemplates武器锻造类别读取使用。
- 详见[CraftingTemplates武器锻造类别页面](https://dev.azure.com/KnightOfTheArk/KnightOfTheArk/_wiki/wikis/KnightOfTheArk.wiki/91/CraftingTemplates%E6%AD%A6%E5%99%A8%E9%94%BB%E9%80%A0%E7%B1%BB%E5%88%AB)
附一把锻造武器物品的逻辑图:
![锻造武器的逻辑图.png](../assets/锻造武器的逻辑图-911958dc-b56f-4bb5-87c9-f34b0b017034.png)
# 特点
- 建议直接复制粘贴骑砍2自己的数据并在此基础上添加自己的配件。这样可以避免产生问题。
- 武器用法必须和武器锻造类别里的内容相匹配包括武器用法的ID和锻造类别中读取的用法ID锻造类别中的可用配件也要在相对应的用法中登记等。
- 如果一个配件具备特殊的情况,例如:
- 禁止这个配件造出来的武器去作“戳捅”动作。
- 禁止这个配件造出来的武器佩戴盾牌使用。
- 其他在用法登记上不容易归纳的情况。
- 就需要在武器配件的xml文件中进行修改。详见[CraftingPieces武器配件页面](https://dev.azure.com/KnightOfTheArk/KnightOfTheArk/_wiki/wikis/KnightOfTheArk.wiki/58/CraftingPieces%E6%AD%A6%E5%99%A8%E9%85%8D%E4%BB%B6)。
# 格式示范
```
<WeaponDescription id="Javelin"
weapon_class="Javelin"
item_usage_features="throwing:javelin"
rotated_in_hand="true"
use_center_of_mass_as_hand_base="true">
<WeaponFlags>
<WeaponFlag value="RangedWeapon"/>
<WeaponFlag value="Consumable"/>
<WeaponFlag value="AmmoSticksWhenShot"/>
<WeaponFlag value="UseHandAsThrowBase"/>
<WeaponFlag value="AutoReload"/>
<WeaponFlag value="UnloadWhenSheathed"/>
</WeaponFlags>
<AvailablePieces>
<AvailablePiece id="spear_blade_1"/>
<AvailablePiece id="spear_blade_9"/>
<AvailablePiece id="spear_blade_10"/>
<AvailablePiece id="spear_blade_41"/>
</AvailablePieces>
</WeaponDescription>
```
# 元素说明
- id
- 该锻造武器用法的ID。
- 特殊的此处的ID使用大驼峰所有单词首字母大写无下划线。
- 不可空。
- weapon_class
- 武器组别。
- 比较特殊的一种分类方法,只有装备到身上的武器有“武器组别”。
- 建议直接复制骑砍2自己的参数。不需要做任何修改。
- 猜测是用于角色特长效果。例如“挡箭术”特长对双手剑生效。
- 存在的组别:
- OneHandedSword 单手剑
- Dagger 匕首
- ThrowingKnife 飞刀
- OneHandedAxe 单手斧
- TwoHandedAxe 双手斧
- ThrowingAxe 飞斧
- OneHandedPolearm 一只手握持的长杆
- TwoHandedPolearm 双手握持的长杆
- Javelin 标枪
- Mace 单手锤
- TwoHandedMace 双手锤
- Crossbow 弩
- Bolt 弩矢
- LargeShield 大盾
- Bow 弓
- Arrow 箭
- Boulder 大石头
- Stone 小石子
- Banner 旗帜
- item_usage_features
- 物品的可用方法和特性。
- 建议直接复制骑砍2自己的参数。不需要做任何修改。
- 具体内容可见"item_usage_sets.xml"文件。
- 用于定义该用法具备的所有功能,比如是否能做出挥动动作的攻击,能否格挡,能放佩戴盾牌,能否做骑枪冲刺等。
- 出现的有:
- onehanded 一只手拿
- twohanded 两只手拿
- onehanded_polearm 一只手拿的长杆
- polearm 长杆,可能是两只手持握的长杆
- long 未知,一般出现在长杆用法上
- block 猜测格挡
- shield 猜测是手持盾牌
- swing 作出挥动动作的攻击
- thrust 作出戳捅动作的攻击
- rshield 未知,跟盾牌有关,只用在手办武器切换用法上
- throwing 投掷
- javelin 标枪
- thrown 长杆类武器里的的投掷
- knife 小刀?
- axe 斧
- widegrip 宽握,应该跟动作有关系
- couch 骑枪冲刺
- pike 只出现在原版的“枪”锻造类别中,猜测是不能骑马的用途
- bracing 架矛
- tipdraw 未知只有单手锤用。猜测tip轻触draw抽出尤指武器
- rotated_in_hand
- 在手中时武器模型旋转。
- 建议直接复制骑砍2自己的参数。不需要做任何修改。
- 填写"true"。
- 可空默认为false。
- 只在投掷类武器的投掷用法和长杆类武器的投掷用法中使用。
- use_center_of_mass_as_hand_base
- 未知。
- 建议直接复制骑砍2自己的参数。不需要做任何修改。
- 填写"true"。
- 可空默认为false。
- 只在投掷类武器的投掷用法和长杆类武器的投掷用法中使用。
- WeaponFlags
- 用法的标记。
- 建议直接复制骑砍2自己的参数。不需要做任何修改。
- 格式:
```
<WeaponFlags>
<WeaponFlag value="RangedWeapon"/>
<WeaponFlag value="Consumable"/>
<WeaponFlag value="AmmoSticksWhenShot"/>
<WeaponFlag value="UseHandAsThrowBase"/>
<WeaponFlag value="AutoReload"/>
<WeaponFlag value="UnloadWhenSheathed"/>
</WeaponFlags>
```
- 出现的有:
- MeleeWeapon 近战武器
- NotUsableWithOneHand 不能一只手持握
- RangedWeapon 远程武器
- Consumable 消耗品,猜测是有个数的
- AmmoSticksWhenShot 猜测是存在弹药命中时模型插在身上的视觉效果
- UseHandAsThrowBase 猜测是切换至该武器时以投掷状态为默认状态
- AutoReload 自动装填
- UnloadWhenSheathed 未知,可能是举盾时卸下该武器;也可能是举盾防御时不装填。
- BonusAgainstShield 对盾加成
- TwoHandIdleOnMount 骑乘时
- WideGrip 宽握,只用在长杆上,猜测是跟可以停马有关系
- AvailablePieces
- 可用的武器配件。
- 锻造武器的所有配件均在该用法中登记,则该武器存在这个用法。
- 格式:
```
<AvailablePieces>
<AvailablePiece id="empire_blade_1"/>
<AvailablePiece id="empire_noble_blade_1"/>
<AvailablePiece id="empire_noble_blade_2"/>
</AvailablePieces>
```