📖 表说明

法术组堆叠规则表定义了同一法术组中法术效果的堆叠行为。这个表控制了哪些法术可以同时生效,哪些法术会互相排斥,是法术系统平衡性的重要组成部分。

数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写,确保字段定义的准确性和权威性。

官方文档: AzerothCore Wiki - spell_group

📊 表结构

字段名 数据类型 属性 默认值 描述
group_id int UNSIGNED 不为空 主键 0 法术组ID,对应spell_group.id
stack_rule tinyint 不为空 0 堆叠规则类型
description varchar(150) 不为空 '' 规则描述

主键: group_id

🔑 核心字段详解

🆔 group_id - 法术组ID

详细说明:法术组的唯一标识ID,对应spell_group表中的id字段。 取值范围:对应spell_group.id
  • 主键字段,标识法术组
  • 对应spell_group.id字段
  • 用于定义法术组的堆叠行为
  • 同一组中的法术遵循相同的堆叠规则

示例:

  • group_id=1 - 第一个法术组
  • group_id=100 - 另一个法术组

📚 stack_rule - 堆叠规则类型

详细说明:定义法术组中法术效果的堆叠行为类型。 取值范围:0-10之间的整数
  • 定义法术效果的堆叠行为
  • 不同的值代表不同的堆叠规则
  • 用于控制法术效果的相互作用
  • 确保法术系统的平衡性

示例:

  • stack_rule=0 - 默认规则(组内法术互相排斥)
  • stack_rule=1 - 特殊规则1(组内法术可共存)

其他字段说明

description: 规则描述字段,用于记录堆叠规则的用途和说明。帮助开发者理解规则的具体含义。

💡 实际案例

互相排斥的法术组

配置同一组中的法术互相排斥

-- 互相排斥的法术组 DELETE FROM spell_group_stack_rules WHERE group_id = 1; INSERT INTO spell_group_stack_rules VALUES (1, 0, '组内法术互相排斥,只能有一个生效');

效果: 法术组1中的所有法术互相排斥,玩家只能同时拥有其中一个法术效果。

可共存的法术组

配置同一组中的法术可以共存

-- 可共存的法术组 DELETE FROM spell_group_stack_rules WHERE group_id = 100; INSERT INTO spell_group_stack_rules VALUES (100, 1, '组内法术可以共存,多个效果同时生效');

效果: 法术组100中的所有法术可以共存,玩家可以同时拥有多个法术效果。

⚡ 快速参考

堆叠规则类型

规则值 含义 说明
0 互相排斥 组内法术只能有一个生效
1 可共存 组内法术可以同时生效
其他值 特殊规则 根据具体需求定义的特殊堆叠行为

表关系

🔗 相关表格

❓ 常见问题

Q1: 如何创建互相排斥的法术组?
设置stack_rule=0,表示组内法术互相排斥。同一组中的法术只能有一个生效,新法术会替换旧法术。
Q2: 如何创建可共存的法术组?
设置stack_rule=1,表示组内法术可以共存。同一组中的法术可以同时生效,不会互相替换。
Q3: 法术组堆叠规则的作用是什么?
控制同一组中法术效果的相互作用,防止某些法术效果过于强大或冲突,确保游戏平衡性。