前言
Acore-world数据库涉及到掉落(不含扒窃)的表一共有11个,分别是:
序号 | 表名 | 说明 |
---|---|---|
1 | creature_loot_template | 生物掉落表,其entry值对应creature_template表的和lootid值 |
2 | disenchant_loot_template | 附魔分解掉落表,其entry值对应item_template表的DisenchantID值 |
3 | fishing_loot_template | 钓鱼掉落表,其entry值对应区域ID |
4 | gameobject_loot_template | 游戏静物掉落表,如宝箱、矿石、草药、鱼群等,其entry值对应gameobject_template表的data1值,但只有gameobject_template表的type为3或者25时,data1才被作为该表entry`值 |
5 | item_loot_template | 物品掉落表,其entry值对应item_template表的entry值 |
6 | pickpocketing_loot_template | 拾取物掉落表,其entry值对应creature_template表的pickpocketloot值 |
7 | prospecting_loot_template | 选矿掉落表,其entry值对应item_template表的entry值 |
8 | skinning_loot_template | 剥皮(或从生物掉落的矿石草药)掉落表,其entry值对应creature_template表的skinloot值 |
9 | reference_loot_template | 参考(辅助)掉落表,对应其他各个掉落表的Mincount或Reference值 |
10 | milling_loot_template | 信件掉落表,其entry值对应item_template表的entry值 |
11 | spell_loot_template | 法术掉落表,其entry值对应Spell.dbc文件的的Spellid值 |
这几张表的字段基本一样,所以本文合并一起解释。
字段解释
Entry
上表有entry值的对应,请注意entry值可以有多个。
Item
掉落的物品ID。
Reference
从另一个掉落模板reference_loot_template表里,读取掉落数据合并到当前的掉落模板里,这里不能填写自身的掉落模板数据,否则会引起服务端崩溃。
ChanceOrQuestChance
掉落概率,表示该物品掉落的百分比,上限100,即便你输入1000,也视同为100,游戏里物品的最终掉落概率等于这里的Chance值乘以worldserver.conf文件里的Rate.Drop.Item.XXX值 。
如果前面你写了Reference值,则表示引用reference_loot_template掉落模板的概率。
如果你设置为0,则它将参考本文Groupid字段。
QuestRequired
掉落发生所需要的任务,玩家只有在接到相关任务,并且该任务表(即quest_template)的RequiredItemId或者RequiredSourceItemId字段里包含该表掉落物品Item的ID,并且玩家现有的物品数量比任务表(即quest_template)内需要的物品数量(RequiredItemCount或者RequiredSourceItemCount)要少时,这个掉落才生效。
LootMode
掉落模式。掉落模式一般为1,其他值(如2、4、8、16、32、64、128、256、512、1024、2048、4096、16384、32768等)在困难模式下才使用。举个例子,奥杜尔的烈焰巨兽BOSS掉落模式:
LootMode | Use |
---|---|
1 | 普通模式(0塔) |
2 | 困难模式(1塔) |
4 | 困难模式(2塔) |
8 | 困难模式(3塔) |
16 | 困难模式(4塔) |
GroupId
掉落组。掉落组指的是一组物品,在发生掉落后,只能从组的物品中获得1个(或0个)的物品。组由具有相同条目和GroupId字段值的物品定义组成。
- 如果这个值是0,那么所有这个物品的group编号是0的物品全都会掉落;
- 如果这个数值>0,那么这个物品所有相同group编号下的物品最多只掉落其中之一;
- GroupId编号相同且大于0的那些掉落数据,所有chance加起来必须不超过100,否则服务端红字;
- GroupId编号相同且大于0的那些掉落数据,所有chance加起来不足100的,只有chance%的概率掉落一件物品;
举例说明:
- 如果这个物品的GroupId编号为0的数据有5个,每次物品掉落时,这5个物品全部都会掉落出来;
- 如果这个物品的GroupId为1的数据有5个,那每次物品掉落时,这5个物品中只有一个物品会以roll点的方式被挑选出来,挑选的概率跟Chance有关;
- 如果这个物品的GroupId编号从0、1、2、3、4,那么编号是0的那些物品全都会掉落,编号1到4的这4组里面,每组都会随机抽取一个掉落出来(每组只有一个掉落);
- 如果这个物品某个GroupId编号的数据的chance加起来只有80,那只有80%的概率从这组里选择一个物品掉落,也可能什么都不掉;
- 最终的掉落总数如果超过16,那就只掉落前面的16个,后面多余的你看不到也得不到。
MinCount
掉落物品的最少数量,最小是1,不能为0。
MaxCount
掉落物品的最大数量。
Agreements
这些协议对于不同的战利品表是不同的。
学习下