惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
Recorded Future
Recorded Future
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Simon Willison's Weblog
Simon Willison's Weblog
爱范儿
爱范儿
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Visual Studio Blog
H
Help Net Security
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
美团技术团队
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
腾讯CDC
G
Google Developers Blog
Cyberwarzone
Cyberwarzone
T
Tenable Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
L
Lohrmann on Cybersecurity
C
Cisco Blogs
K
Kaspersky official blog
Recent Announcements
Recent Announcements
Vercel News
Vercel News
C
Cybersecurity and Infrastructure Security Agency CISA
有赞技术团队
有赞技术团队
P
Privacy & Cybersecurity Law Blog
Hugging Face - Blog
Hugging Face - Blog
S
Schneier on Security
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
Scott Helme
Scott Helme
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
D
Docker
U
Unit 42
S
Security @ Cisco Blogs

浮生闲记

一招解决 Office 2016 每次启动 Word 都弹出“配置进度”的问题 二十五岁,我有了第一套属于自己的房子 男人过了25,就会自动解锁一些奇奇怪怪的爱好 未竟之书 CopyTree:右键一键复制目录树,开发者的效率小工具 绿联 NAS OpenClaw 进阶教程:关闭命令审批,提升 AI 执行效率 告别低效操作:Claude Code 这些内置命令,真正让我开发效率翻倍 绿联 NAS OpenClaw 进阶教程:接入微信机器人,实现文件便捷备份 绿联 NAS OpenClaw 进阶教程:安装并使用 ClawHub 管理 Skills 绿联 NAS OpenClaw 进阶教程:自定义模型与接入 QQ 机器人 绿联 NAS OpenClaw 安装指南,轻松部署专属 AI 助手 UG12 “捕获到标准C++异常” 问题解决方案 开源热搜监控工具,支持Docker一键部署,实时追踪微博知乎等45+平台,支持关键词筛选和邮件推送 解决Windows中使用Cloude Code生成的nul文件无法删除的问题(MS-DOS功能无效) 如何为Claude Code添加Skill?官方Skill安装步骤详解 Agent Skill 入门实战指南:从零创建你的第一个 Skill ,提升 Claude Code 开发效率 告别Typora收费,用Obsidian+GitHub搭建永久免费的笔记云同步方案 告别命令行!使用GitHub Desktop图形化下载和管理项目(小白友好教程) Typora v1.10.8 破解教程(仅供学习研究) 部分网站无法访问?一次典型的DNS污染排查与解决记录 服务器内部错误?修复 Halo 评论页面因 XSS 攻击无法打开的问题 执念 风起知秋 使用Cheat Engine修改Bongo Cat倒计时与点击次数 Cheat Engine 安装与汉化详细教程
【宝可梦肉鸽】PokeRogue 游戏数据修改指南(v1.10)
浮生闲记 · 2025-10-11 · via 浮生闲记

背景介绍

最近我在玩 PokeRogue 这款宝可梦肉鸽游戏时,发现某些道具和扭蛋券获取起来比较耗时。作为一个技术爱好者,我开始琢磨能不能通过浏览器开发者工具来修改游戏数据,获得更好的游戏体验。经过一番摸索,我找到了一个稳定可行的修改方法,适用于 v1.10 版本,今天就分享给大家。

准备工作

在开始之前,你需要准备以下工具和环境:

  1. 使用 Chrome 或 Edge 浏览器打开 PokeRogue 官网
  2. F12 键打开浏览器开发者工具
  3. 确保游戏已加载并可以正常游玩

修改步骤详解

第一步:定位关键文件

首先,我们需要找到存放游戏数据的关键文件:

  1. 在开发者工具中,点击"源代码"标签
  2. 在左侧文件树中,展开 assets 目录
  3. 找到名为 battle-scene-CG56cFXL.js 的文件
  4. 点击该文件,在中央编辑区域打开源代码

第二步:设置断点

接下来需要设置一个断点来暂停游戏执行:

  1. 在打开的源代码文件中,按 Ctrl + F 打开搜索框
  2. 搜索 case I.ACTION(注意大小写和空格)
  3. 继续查找,直到找到第9个匹配结果
  4. 在第9个 case I.ACTION 所在行的行号左侧点击,设置断点
  5. 成功设置后,你会看到一个红色断点标记

设置断点

第三步:触发断点

现在让游戏运行到断点位置:

  1. 回到游戏界面,按 ESC 键打开菜单
  2. 选择并进入扭蛋机界面
  3. 使用键盘的左/右方向键切换不同的扭蛋机
  4. 此时游戏会暂停,进入断点,浏览器自动跳转到开发者工具界面

断点触发

第四步:修改游戏数据

当断点触发后,我们就可以修改游戏数据了:

  1. 找到并点击 控制台 标签,输入下文中的代码
  2. 此处以修改扭蛋卷数量为例,输入:
s.gameData.voucherCounts[0] = 10000; // 1抽券
s.gameData.voucherCounts[1] = 9999;  // 5抽券
s.gameData.voucherCounts[2] = 9999;  // 10抽券
s.gameData.voucherCounts[3] = 9999;  // 25抽券
  1. 回车后看到9999,则表示修改成功

修改成功

第五步:保存修改

最后,让游戏恢复正常运行:

  1. 点击之前设置的红色断点标记取消断点
  2. F8 键或点击继续执行按钮让游戏恢复正常运行

常用修改项目

修改扭蛋券数量

s.gameData.voucherCounts[0] = 10000; // 1抽券
s.gameData.voucherCounts[1] = 9999;  // 5抽券
s.gameData.voucherCounts[2] = 9999;  // 10抽券
s.gameData.voucherCounts[3] = 9999;  // 25抽券

修改扭蛋数据

s.gameData.eggs.forEach(item => {
    item.hatchWaves = 1;     // 孵化剩余波次
    item._tier = 3;          // 稀有度:普通0,稀有1,史诗2,传说3
    item._species = 0;       // 宝可梦编号(0为随机),可以指定宝可梦
});

游戏对局修改

s.money = 100000000000;      // 金钱数量
s.pokeballCounts[4] = 99;    // 大师球数量

注意:以下道具至少持有一个才能修改

糖果罐修改

for(const h in s.modifiers) {
    if (s.modifiers[h].type.id === 'CANDY_JAR') {
        s.modifiers[h].stackCount = 99;
    }
}

护符类修改

// 闪耀护符
for(const h in s.modifiers) {
    if (s.modifiers[h].type.id === 'SHINY_CHARM') {
        s.modifiers[h].stackCount = 4;
    }
}

// 特性护符
for(const h in s.modifiers) {
    if (s.modifiers[h].type.id === 'ABILITY_CHARM') {
        s.modifiers[h].stackCount = 4;
    }
}

// 捕获护符
for(const h in s.modifiers) {
    if (s.modifiers[h].type.id === 'CATCHING_CHARM') {
        s.modifiers[h].stackCount = 3;
    }
}

图鉴修改

个别图鉴修改

const dex = [382, 383, 384]; // 图鉴编号(丰缘三神兽)
for (let h = 0; h < dex.length; h++) {
    const index = dex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 2,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 247n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 1,      // 捕获次数
        hatchedCount: 5,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

全图鉴黄闪修改

// 主图鉴(1-1025)
for (let h = 1; h <= 1025; h++) {
    s.gameData.starterData[h] = {
        abilityAttr: 7,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 90,      // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[h] = {
        caughtAttr: 159n,    // 捕获属性(闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 1,     // 孵化次数
        seenCount: 3,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

// 特殊形态图鉴
const specialDex = [2019, 2020, 2026, 2027, 2028, 2037, 2038, 2050, 2051, 2052, 2053,
                   2074, 2075, 2076, 2088, 2089, 2103, 2105, 2670, 4052, 4077,
                   4078, 4079, 4080, 4083, 4110, 4122, 4144, 4145, 4146, 4199,
                   4222, 4263, 4264, 4554, 4555, 4562, 4618, 6058, 6059, 6100,
                   6101, 6157, 6211, 6215, 6503, 6549, 6570, 6571, 6628, 6705,
                   6706, 6713, 6724, 8128, 8194, 8901];
for (let h = 0; h < specialDex.length; h++) {
    const index = specialDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 7,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 90,      // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 159n,    // 捕获属性(闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 1,     // 孵化次数
        seenCount: 3,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

性别补正

公/无性别宝可梦

const maleDex = [890,382,383,384,493,888,1007,1008,150,249,250,483,484,487,644,646,716,717,718,798,800,802,803,889,887,898,381,385,386,486,490,491,789,786,721,720,719,648,641,642,645,795,801,806,984,987,1002,1004,1005,1009,1020,1021,1022,1023,145,146,243,244,245,377,379,482,492,494,638,639,640,647,649,785,787,793,794,796,797,799,805,807,808,894,895,896,988,989,990,991,992,993,994,1006,1010,1014,1015,1025,4144,4145,4146,144,151,251,378,480,481,772,788,880,882,893,985,986,995,1001,1016,489,881,883,999,1012,120,337,338,436,622,599,854,6100,132,100,343,703,201,1003,374,479,615,774,781,870,924,32,859];

for (let h = 0; h < maleDex.length; h++) {
    const index = maleDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 7,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 151n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 3,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

仅有母的宝可梦

const femaleDex = [380,905,488,856,241,868,548,238,29,440,2670,669];

for (let h = 0; h < femaleDex.length; h++) {
    const index = femaleDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 7,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 155n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 3,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

特性补正

公/无性别特性补正

const abilityMaleDex = [890,382,383,384,493,888,1007,1008,1024,646,644,643,716,717,718,798,800,802,803,889,897,491,490,386,385,381,898,648,719,720,721,789,1005,1004,1002,987,984,806,801,795,1009,1017,1020,1021,1022,1023,638,494,492,482,639,640,647,649,793,794,796,797,799,805,807,808,891,894,895,896,988,989,990,991,992,993,994,1003,1006,4146,4145,4144,1025,1010,151,251,480,481,772,1001,995,986,985,893,8901,92,489,479,615,679,633,774,776,778,781,999,200,338,337,562,570,676,692,736,741,775,877,875,874,948,963,4562,6570,343,433,455,746,4618,201,351,420];

for (let h = 0; h < abilityMaleDex.length; h++) {
    const index = abilityMaleDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 1,      // 特性
        candyCount: 50,      // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 151n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 3,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

母特性补正

const abilityFemaleDex = [380,488];

for (let h = 0; h < abilityFemaleDex.length; h++) {
    const index = abilityFemaleDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 1,      // 特性
        candyCount: 100,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 155n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 3,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

无尽模式专用红闪宝可梦

const endlessDex = [235,263,708,290,656];

for (let h = 0; h < endlessDex.length; h++) {
    const index = endlessDex[h];
    s.gameData.starterData[index] = {
        abilityAttr: 7,      // 特性
        candyCount: 300,     // 糖果数量
        classicWinCount: 0,  // 经典模式胜利场次
        eggMoves: 15,        // 遗传技能
        friendship: 100,     // 亲密度
        passiveAttr: 3,      // 被动
        valueReduction: 2    // 减费
    };
    s.gameData.dexData[index] = {
        caughtAttr: 255n,    // 捕获属性(确认闪光)
        ivs: [31, 31, 31, 31, 31, 31], // 个体值
        seenAttr: 479n,      // 遭遇属性
        caughtCount: 0,      // 捕获次数
        hatchedCount: 3,     // 孵化次数
        seenCount: 1,        // 遭遇次数
        natureAttr: 67108862 // 性格
    };
}

闪光颜色与性别对照表

闪光类型 公/无性别 仅母 性别全
不闪 1n - -
黄闪 151n 155n 159n
蓝黄闪 183n 187n 191n
红蓝黄 247n 251n 255n

注意事项

使用这个方法时,有几点需要注意:

  1. 数据保存:修改后,建议进行一场战斗或抽取一次扭蛋,以确保数据正确保存到云端
  2. 适度修改:过度修改可能会降低游戏乐趣,建议根据个人需求适度调整
  3. 版本兼容:此方法针对 v1.10 版本,游戏更新后可能需要调整
  4. 风险提示:修改有极小概率导致数据异常,请谨慎操作

常见问题

Q: 找不到 battle-scene 文件怎么办?
A: 确保游戏已完全加载,可以尝试刷新页面后重新查找。

Q: 断点无法触发是怎么回事?
A: 检查是否在第9个 case I.ACTION 处设置断点,并确保在扭蛋机界面使用方向键切换。

Q: 修改后游戏卡住了怎么办?
A: 确保已取消断点并按 F8 继续执行,如仍卡住可尝试刷新页面。

这个修改方法让我在游戏中节省了大量时间,可以更专注于体验游戏的核心玩法。不过还是要提醒大家,适度修改可以提升游戏体验,但过度修改可能会失去游戏本身的乐趣。希望大家都能找到适合自己的平衡点!


本文转载自【宝可梦肉鸽】修改代码(v1.10)版本 - 哔哩哔哩,感谢原作者的分享。