本页面详细介绍了Spell.dbc文件中的中间字段(41-71),包括法术的持续时间、能量类型、魔法消耗、施法距离等。字段前的数字表示官方DBC文件中的实际列号,与官方API保持一致。
法术的持续时间索引,此为索引,参照SpellDuration.dbc,那里是实际值。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术持续时间的索引,引用SpellDuration.dbc表中的记录。SpellDuration.dbc表包含了法术持续时间的实际值,以毫秒为单位。
常见值:
说明: 此字段定义了法术的持续时间索引,引用SpellDuration.dbc表中的记录。例如,如果m_durationIndex=35,则该法术的持续时间为30000毫秒(30秒)。此字段通常用于定义法术效果的持续时间,例如buff/debuff的持续时间、引导法术的持续时间等。如果此值为0,则表示法术没有持续时间(瞬间法术)。
示例应用:
法术消耗的能量类型,定义了施放法术需要消耗的能量类型。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术消耗的能量类型。
常见值:
说明: 此字段定义了施放法术需要消耗的能量类型。例如,如果m_powerType=0,则该法术消耗法力值;如果m_powerType=1,则该法术消耗怒气值。此字段通常与m_manaCost、m_manaCostPerLevel和m_manaPerSecond等字段一起使用,共同定义法术的能量消耗。
示例应用:
法术消耗的魔法值,对应上面的数值除以10。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术消耗的魔法值(或其他能量类型)。实际游戏中显示的消耗值是此值除以10。
常见值:
说明: 此字段定义了法术消耗的魔法值(或其他能量类型,取决于m_powerType字段)。例如,如果m_manaCost=500,则该法术消耗50点魔法值(500除以10)。此字段通常与m_powerType字段一起使用,共同定义法术的能量消耗。如果此值为0,则表示法术不消耗魔法值。
示例应用:
法术每级额外消耗的魔法值,定义了法术随着角色等级提高而增加的魔法消耗。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术每级额外消耗的魔法值。实际游戏中,法术的总魔法消耗为基础消耗(m_manaCost)加上角色等级乘以每级消耗(m_manaCostPerLevel)。
常见值:
说明: 此字段定义了法术每级额外消耗的魔法值。例如,如果m_manaCostPerLevel=10,则该法术每提高1级角色等级,魔法消耗增加1点(10除以10)。此字段通常与m_manaCost字段一起使用,共同定义法术的能量消耗。如果此值为0,则表示法术的魔法消耗不随角色等级提高而增加。
计算公式: 总魔法消耗 = m_manaCost/10 + (角色等级 * m_manaCostPerLevel/10)
示例应用:
法术每秒消耗的魔法值,定义了引导法术或持续施法法术在施法过程中每秒消耗的魔法值。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术每秒消耗的魔法值。实际游戏中显示的每秒消耗值是此值除以10。
常见值:
说明: 此字段定义了引导法术或持续施法法术在施法过程中每秒消耗的魔法值。例如,如果m_manaPerSecond=200,则该法术在施法过程中每秒消耗20点魔法值(200除以10)。此字段通常用于定义引导法术(如奥术飞弹、精神鞭笞)或持续施法法术(如暴风雪、火雨)的持续魔法消耗。如果此值为0,则表示法术在施法过程中不消耗持续魔法值。
示例应用:
法术每级每秒额外消耗的魔法值,定义了引导法术或持续施法法术随着角色等级提高而增加的每秒魔法消耗。此字段在当前版本中未使用(unused)。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术每级每秒额外消耗的魔法值。实际游戏中,引导法术或持续施法法术的每秒总魔法消耗为基础每秒消耗(m_manaPerSecond)加上角色等级乘以每级每秒消耗(m_manaPerSecondPerLeve)。
常见值:
说明: 此字段定义了引导法术或持续施法法术每级每秒额外消耗的魔法值。例如,如果m_manaPerSecondPerLeve=5,则该法术每提高1级角色等级,每秒魔法消耗增加0.5点(5除以10)。此字段通常与m_manaPerSecond字段一起使用,共同定义引导法术或持续施法法术的持续魔法消耗。如果此值为0,则表示法术的每秒魔法消耗不随角色等级提高而增加。
注意: 此字段在当前版本中未使用(unused),所有法术的此字段值都为0。
计算公式: 总每秒魔法消耗 = m_manaPerSecond/10 + (角色等级 * m_manaPerSecondPerLeve/10)
示例应用:
法术的施法距离索引,和SpellRange.dbc相关联,那里是实际值。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术施法距离的索引,引用SpellRange.dbc表中的记录。SpellRange.dbc表包含了法术施法距离的实际值,以码为单位。
常见值:
说明: 此字段定义了法术的施法距离索引,引用SpellRange.dbc表中的记录。例如,如果m_rangeIndex=3,则该法术的施法距离为30码。此字段通常用于定义法术可以施放的距离,例如近战法术、远程法术、自身法术等。如果此值为1,则表示法术只能对自身施放。
示例应用:
法术的飞行速度,定义了法术效果从施法者飞向目标的速度。
官方API说明:
在官方API中,此字段被定义为float类型,表示法术效果从施法者飞向目标的速度,以码/秒为单位。如果此值为0,则表示法术效果立即到达目标(无飞行时间)。
常见值:
说明: 此字段定义了法术效果从施法者飞向目标的速度。例如,如果m_speed=20,则该法术效果以20码/秒的速度从施法者飞向目标。此字段通常用于定义投射物类法术(如火球术、寒冰箭、暗影箭等)的飞行速度。如果此值为0,则表示法术效果立即到达目标(无飞行时间)。
示例应用:
法术的模态下一个法术ID,此字段在当前版本中未使用(not used)。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术的模态下一个法术ID。如果此值为0,则表示法术没有模态下一个法术。
常见值:
说明: 此字段在当前版本中未使用(not used)。它原本可能是用于定义法术的模态下一个法术ID,例如在某些条件下自动切换到另一个法术。但在当前版本中,所有法术的此字段值都为0。
示例应用:
法术的累加光环标志,定义了法术效果是否可以累加。只有猎人的一些技能此值为75。
官方API说明:
在官方API中,此字段被定义为uint32类型,表示法术的累加光环标志。如果此值为0,则表示法术效果不可累加。如果此值为75,则表示法术效果可以累加。
常见值:
说明: 此字段定义了法术效果是否可以累加。例如,如果m_cumulativeAura=75,则该法术效果可以累加。此字段通常用于定义猎人的一些技能,例如"稳固射击"、"瞄准射击"等,这些技能的效果可以累加。如果此值为0,则表示法术效果不可累加。
示例应用:
法术施放需要的图腾,定义了施放法术需要的图腾物品ID。
官方API说明:
在官方API中,此字段被定义为两个uint32类型的值,表示法术施放需要的图腾物品ID。如果此值为0,则表示法术施放不需要图腾。
常见值:
说明: 此字段定义了施放法术需要的图腾物品ID。例如,如果m_totem=5175,则该法术施放需要大地图腾。此字段通常用于定义萨满的图腾法术,例如大地之力图腾、火焰新星图腾、治疗之泉图腾、风怒图腾等。如果此值为0,则表示法术施放不需要图腾。
示例应用:
法术施放需要的物品,定义了施放法术需要的物品ID。
官方API说明:
在官方API中,此字段被定义为八个int32类型的值,表示法术施放需要的物品ID。如果此值为0,则表示法术施放不需要该物品。
常见值:
说明: 此字段定义了施放法术需要的物品ID。例如,如果m_reagent=17026,则该法术施放需要野生棘根草。此字段通常用于定义需要消耗物品的法术,例如复活法术、传送法术、变形法术等。如果此值为0,则表示法术施放不需要该物品。
示例应用:
法术施放需要的物品数量,定义了施放法术需要的物品数量。58对应50(应该是61对应53)。
官方API说明:
在官方API中,此字段被定义为八个uint32类型的值,表示法术施放需要的物品数量。如果此值为0,则表示法术施放不需要该物品。
常见值:
说明: 此字段定义了施放法术需要的物品数量。例如,如果m_reagentCount=1,则该法术施放需要1个对应的物品。此字段通常与m_reagent字段一起使用,共同定义法术施放需要的物品及其数量。如果此值为0,则表示法术施放不需要该物品。
注意: 此字段的索引与m_reagent字段的索引对应,例如m_reagentCount[0]对应m_reagent[0],m_reagentCount[1]对应m_reagent[1],以此类推。
示例应用:
法术可以作用的装备分类,定义了法术可以作用的装备类型。武器2 护甲4 参考ItemSubClass.dbc。
官方API说明:
在官方API中,此字段被定义为int32类型,表示法术可以作用的装备分类。此字段引用ItemClass.dbc表中的记录。
常见值:
说明: 此字段定义了法术可以作用的装备分类。例如,如果m_equippedItemClass=2,则该法术只能作用于武器。此字段通常与m_equippedItemSubclass和m_equippedItemInvTypes字段一起使用,共同定义法术可以作用的装备类型。如果此值为0,则表示法术不限制装备分类。
示例应用:
法术可以作用的装备子类,定义了法术可以作用的装备子类型。参考ItemSubClassMask.dbc。
官方API说明:
在官方API中,此字段被定义为int32类型,表示法术可以作用的装备子类掩码。此字段引用ItemSubClass.dbc表中的记录。
常见值(武器子类掩码):
常见值(护甲子类掩码):
说明: 此字段定义了法术可以作用的装备子类掩码。例如,如果m_equippedItemSubclass=4096,则该法术只能作用于匕首。此字段通常与m_equippedItemClass和m_equippedItemInvTypes字段一起使用,共同定义法术可以作用的装备类型。如果此值为0,则表示法术不限制装备子类。如果此值为-1,则表示法术可以作用于所有子类。
示例应用:
法术可以作用的装备佩戴位置,定义了法术可以作用的装备佩戴位置掩码。
官方API说明:
在官方API中,此字段被定义为int32类型,表示法术可以作用的装备佩戴位置掩码。
常见值:
说明: 此字段定义了法术可以作用的装备佩戴位置掩码。例如,如果m_equippedItemInvTypes=512,则该法术只能作用于手部装备。此字段通常与m_equippedItemClass和m_equippedItemSubclass字段一起使用,共同定义法术可以作用的装备类型。如果此值为0,则表示法术不限制装备佩戴位置。如果此值为-1,则表示法术可以作用于所有装备佩戴位置。
示例应用: