0x00 前言
继上篇《添加自定义魔物》之后,现在为当时添加的「皮卡丘」定制一张卡片:

0x10 服务端设定
0x11 添加卡片道具
由于卡片也是道具的一种,故而首先要在道具库 item_db.yml 添加「皮卡丘卡片」:
- Id: 1500172
AegisName: PIKACHU_Card
Name: 皮卡丘卡片
Type: Card
Buy: 20
Weight: 10
Locations:
Shoes: true
Flags:
BuyingStore: true
Script: |
bonus bAgi,10;
bonus bFlee2,10;
0x12 添加掉落物
然后修改魔物库 mob_db.yml 中「皮卡丘」的设定,为其添加掉落物「皮卡丘卡片」:
- Id: 20172
AegisName: PIKACHU
Name: 皮卡丘
JapaneseName: 皮卡丘
... ...
Drops:
- Item: Glass_Bead
Rate: 5000
- Item: PIKACHU_Card
Rate: 10000
- 掉落物
Item: PIKACHU_Card的名字就是「皮卡丘卡片」的AegisName: PIKACHU_Card - 为了方便测试,这里设置掉率为
Rate: 10000,即10000 / 100 = 100%(rAthena 没有小数,以致掉率使用放大了 100 倍的整数表示) Locations指定哪个位置的装备允许插这张卡,枚举项为:
| 卡片位置代码 | 位置说明 |
|---|---|
Head_Top |
头上 |
Head_Mid |
头中 |
Head_Low |
头下 |
Armor |
衣服 |
Right_Hand |
武器 |
Left_Hand |
盾牌 |
Garment |
披肩 |
Shoes |
鞋子 |
Both_Accessory |
饰品 |
上述配置建议在 SDE 操作会更高效:

至此服务端部分就配置好了。
0x20 客户端设定
0x21 添加卡片道具
同样地,在客户端也需要在道具池 System/itemInfo.lub 新增「皮卡丘卡片」:
[1500172] = {
unidentifiedDisplayName = "卡片",
unidentifiedResourceName = "捞抚绝绰墨靛",
unidentifiedDescriptionName = {
"AGI+10",
"完全回避+10",
"系列: ^777777卡片^000000",
"装置: ^777777鞋子^000000",
"重量: ^7777771^000000"
},
identifiedDisplayName = "皮卡丘卡片",
identifiedResourceName = "捞抚绝绰墨靛",
identifiedDescriptionName = {
"AGI+10",
"完全回避+10",
"系列: ^777777卡片^000000",
"装置: ^777777鞋子^000000",
"重量: ^7777771^000000"
},
slotCount = 0,
ClassNum = 0
}
由于所有卡片的道具图档都是一样的,因此 identifiedResourceName 直接用官方的卡片图档 捞抚绝绰墨靛 即可。
0x22 设置卡片前缀
任何卡片在插上后都会在装备名字前显示其独有的前缀,这个前缀在 data/cardprefixnametable.txt 新增一行即可:
- 格式:
{卡片ID}#{前缀名}# - 例如:
1500172#皮神的#

0x23 设置卡片大图
所有卡片在查看详情时,均有一个【显示】按钮可以查看卡片图鉴的大图:

其配置方法为:
首先在 data/texture/蜡历牢磐其捞胶/cardbmp 放置卡片图鉴大图,尺寸大小为 300x400、格式为 bmp。
图片可以自己做、也可以网上找,例如这里放置了名为 PIKACHU.bmp 的图片:

然后在 data/num2cardillustnametable.txt 中新增一行:
- 格式:
{卡片ID}#{图鉴文件名}#(不含后缀名) - 例如:
1500172#PIKACHU#
进入游戏即可看到效果。