加载中...

「RO 笔记」设定自定义宠物的进化路线


0x00 前言

继上篇《添加自定义宠物》添加了「皮卡丘」之后,现在模拟口袋妖怪的设定、为其配置进化路线。

先来看一下最终效果:

皮丘 进化 皮卡丘

皮卡丘 进化 雷丘

0x10 服务端设定

首先需要参考《添加自定义魔物》的做法,自行添加两只进化前后的魔物「皮丘」和「雷丘」。

然后参考《添加自定义宠物》再添加进化前后对应的宠物、及相关宠物道具:

PICHU PICHU_BALL
RAICHU RAICHU_BALL

0x11 添加进化道具

在道具库 item_db.yml 添加两个进化时需要用到的道具:

  - Id: 1550000
    AegisName: POKEMON_LIGHT_BALL
    Name: 电气珠
    Type: Etc
    Buy: 100
    Weight: 10
    Flags:
      BuyingStore: true

  - Id: 1550001
    AegisName: POKEMON_THUNDER_STONE
    Name: 雷之石
    Type: Etc
    Buy: 100
    Weight: 10
    Flags:
      BuyingStore: true

0x12 设定进化路线

现在为它们设定一个进化路线:

进化前 进化道具 进化后
皮丘 电气珠 x1 皮卡丘
皮卡丘 电气珠 x1
雷之石 x1
雷丘

对应这个进化路线,修改宠物库 pet_db.yml

###########################################################################
# 皮丘
###########################################################################
  - Mob: PICHU
    TameItem: POKEMON_BALL
    EggItem: PICHU_BALL
    FoodItem: POKEMON_FOOD
    ... ...
    Evolution:
      - Target: PIKACHU
        ItemRequirements:
          - Item: POKEMON_LIGHT_BALL
            Amount: 1

###########################################################################
# 皮卡丘
###########################################################################
  - Mob: PIKACHU
    TameItem: POKEMON_BALL
    EggItem: PIKACHU_BALL
    EquipItem: PIKACHU_EQUIP
    FoodItem: POKEMON_FOOD
    ... ...
    Evolution:
      - Target: RAICHU
        ItemRequirements:
          - Item: POKEMON_LIGHT_BALL
            Amount: 1
          - Item: POKEMON_THUNDER_STONE
            Amount: 1

###########################################################################
# 雷丘
###########################################################################
  - Mob: RAICHU
    TameItem: POKEMON_BALL
    EggItem: RAICHU_BALL
    FoodItem: POKEMON_FOOD
    ... ...

关键在于添加了 Evolution 属性:

  • Target: 进化目标
  • ItemRequirements: 进化要求的道具,可以有多项
    • Item: 道具的 AegisName
    • Amount: 要求的数量

0x13 启动宠物进化开关

conf/battle/feature.conf 中启动宠物进化: feature.petautofeed: on

至此服务端部分全部配置完成。

0x20 客户端设定

一样也是需要参考《添加自定义魔物》和《添加自定义宠物》的做法,先自行添加「皮丘」和「雷丘」。

0x21 添加进化道具

对应服务端,在客户端道具池 itemInfo.lub 添加两个进化道具:

[1550000] = {
    unidentifiedDisplayName = "电气珠",
    unidentifiedResourceName = "POKEMON_LIGHT_BALL",
    unidentifiedDescriptionName = { 
        "让 [皮丘] 携带后可以进化的神奇之球。",
        "种类: ^777777口袋妖怪进化道具^000000",
        "重量: ^7777771^000000"
    },
    identifiedDisplayName = "电气珠",
    identifiedResourceName = "POKEMON_LIGHT_BALL",
    identifiedDescriptionName = { 
        "让 [皮丘] 携带后可以进化的神奇之球。",
        "种类: ^777777口袋妖怪进化道具^000000",
        "重量: ^7777771^000000"
    },
    slotCount = 0,
    ClassNum = 0
},
[1550001] = {
    unidentifiedDisplayName = "雷之石",
    unidentifiedResourceName = "POKEMON_THUNDER_STONE",
    unidentifiedDescriptionName = { 
        "能让某些特定口袋妖怪进化的神奇石头。有着闪电般的花纹。",
        "种类: ^777777口袋妖怪进化道具^000000",
        "重量: ^7777771^000000"
    },
    identifiedDisplayName = "雷之石",
    identifiedResourceName = "POKEMON_THUNDER_STONE",
    identifiedDescriptionName = { 
        "能让某些特定口袋妖怪进化的神奇石头。有着闪电般的花纹。",
        "种类: ^777777口袋妖怪进化道具^000000",
        "重量: ^7777771^000000"
    },
    slotCount = 0,
    ClassNum = 0
}
电气珠 雷之石

0x22 设定进化路线

在此之前,需要通过 Nemo 确定当前的客户端正在使用哪个文件配置宠物进化。

找到 Change PetEvolutionCln*.lub path 选项:

我这里使用的是 System/PetEvolutionCln.lub

反编译后,在其中添加:

-- 皮丘 进化 皮卡丘
InsertEvolutionRecipeLGU(9171, 9172, 1550000, 1)

-- 皮卡丘 进化 雷丘
InsertEvolutionRecipeLGU(9172, 9173, 1550000, 1)
InsertEvolutionRecipeLGU(9172, 9173, 1550001, 1)

-- 自动喂食
InsertPetAutoFeeding(9171)
InsertPetAutoFeeding(9172)
InsertPetAutoFeeding(9173)

其中 InsertEvolutionRecipeLGU 的格式为:

InsertEvolutionRecipeLGU({进化前宠物ID}, {进化后宠物ID}, {进化需要的道具ID}, {道具数量})

如果进化需要多种道具,则每种道具配置一行即可,这里的配置需要与服务端的 pet_db.yml 配置一致。

只有当这里配置正确时,宠物面板才会出现「进化」选项:

InsertPetAutoFeeding 是自动喂食的配置,服务端需要对应打开 feature.petautofeed 开关,但都与进化无关,看个人需求配置即可。

0x30 测试

至此客户端和服务端都配置完成了,进入游戏测试进化即可:

备用视频源:youtube

需要注意的是,宠物进化需要两个条件:

  • 亲密度为「非常亲密」: 测试时可使用 GM 命令 @petfriendly 1000
  • 进化道具在背包中: 测试时可使用 GM 命令 @item {进化道具ID}

0xF0 参考文档


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
「RO 笔记」添加自定义 NPC 「RO 笔记」添加自定义 NPC
对于最初接触 ROGF 的同学而言,SMM 的地位是无可撼动的。但是后来 SMM 不再代言之后,她在游戏中的 NPC 形象也被永远地删除了,成为一代人的遗憾。如何能够恢复 SMM 的 NPC 形象呢 ?
2024-02-28
下一篇 
「RO 笔记」添加自定义宠物 「RO 笔记」添加自定义宠物
添加宠物涉及到宠物本身、宠物蛋、捕捉道具、宠物食物、宠物装备、宠物图档等配置,步骤还是相对繁琐的,而且还存在隐性约束导致各种莫名的问题,本文帮大家理清所有配置脉络 ...
2024-02-03
  目录