fixed # 修补缺失资源,修正已知BUG

This commit is contained in:
2026-09-30 00:33:30 +08:00
parent 98a55dd3d6
commit 3fdaf6d218
17 changed files with 415 additions and 45 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ const act1Map = {
contentId: "act1.battle.liubeiOpening",
},
],
enemies: ["mengsan_flyconid_shuying"],
enemies: ["mengsan_flyconid_shuying", "mengsan_raider_trio_shuying"],
eliteEnemies: ["re_xiahoudun", "re_zhangliao", "re_xuzhu"],
boss: "re_lvbu",
baseGold: 20,
+32
View File
@@ -0,0 +1,32 @@
// 灰机 Wiki:五名劫掠者中随机抽取三名,且同场不重复。
export const RAIDER_TRIO_ENCOUNTER = "mengsan_raider_trio_shuying";
export const RAIDER_MEMBERS = Object.freeze([
Object.freeze({ character: "mengsan_raider_brute_shuying", minHp: 30, maxHp: 33 }),
Object.freeze({ character: "mengsan_raider_assassin_shuying", minHp: 18, maxHp: 23 }),
Object.freeze({ character: "mengsan_raider_axe_shuying", minHp: 20, maxHp: 22 }),
Object.freeze({ character: "mengsan_raider_crossbow_shuying", minHp: 18, maxHp: 21 }),
Object.freeze({ character: "mengsan_raider_tracker_shuying", minHp: 21, maxHp: 25 }),
]);
export function createRaiderTrioBattlePlan(random) {
if (typeof random !== "function") throw new TypeError("劫掠者团伙需要随机数生成器");
const members = RAIDER_MEMBERS.slice();
const pick = count => {
const value = random();
if (!Number.isFinite(value) || value < 0 || value >= 1) throw new RangeError("随机数必须在 [0,1) 内");
return Math.floor(value * count);
};
for (let index = members.length - 1; index > 0; index--) {
const other = pick(index + 1);
[members[index], members[other]] = [members[other], members[index]];
}
return {
units: members.slice(0, 3).map((member, index) => {
const hp = member.minHp + pick(member.maxHp - member.minHp + 1);
return { id: `raider_${index + 1}`, character: member.character,
camp: "enemy", tier: "normal", hp, maxHp: hp, hand: 4 };
}),
rules: [],
};
}
+15
View File
@@ -8,6 +8,16 @@ export function createScenarioCharacters(Character) {
skills: [], img: "image/character/shibing1.jpg" }),
mengsan_flyconid_shuying: new Character({ sex: "none", group: "qun", hp: 48, maxHp: 48,
skills: [], img: "extension/术樱包/mengsan/assets/flyconid-portrait.png" }),
mengsan_raider_brute_shuying: new Character({ sex: "none", group: "qun", hp: 32, maxHp: 32,
skills: [], img: "extension/术樱包/mengsan/assets/raider-brute-portrait.png" }),
mengsan_raider_assassin_shuying: new Character({ sex: "none", group: "qun", hp: 21, maxHp: 21,
skills: [], img: "extension/术樱包/mengsan/assets/raider-assassin-portrait.png" }),
mengsan_raider_axe_shuying: new Character({ sex: "none", group: "qun", hp: 21, maxHp: 21,
skills: [], img: "extension/术樱包/mengsan/assets/raider-axe-portrait.png" }),
mengsan_raider_crossbow_shuying: new Character({ sex: "none", group: "qun", hp: 20, maxHp: 20,
skills: [], img: "extension/术樱包/mengsan/assets/raider-crossbow-portrait.png" }),
mengsan_raider_tracker_shuying: new Character({ sex: "none", group: "qun", hp: 23, maxHp: 23,
skills: [], img: "extension/术樱包/mengsan/assets/raider-tracker-portrait.png" }),
mengsan_sushuang_zhangshiping_shuying: new Character({ sex: "male", group: "shu", hp: 4, maxHp: 4,
skills: [], img: "extension/术樱包/mengsan/assets/sushuang-zhangshiping.png", names: "苏|双-张|世平" }),
};
@@ -16,5 +26,10 @@ export const scenarioTranslations = {
mengsan_liubei_shuying: "界刘备", mengsan_liubei_shuying_title: "50/50生命 · 无初始技能",
mengsan_soldier_shuying: "士兵",
mengsan_flyconid_shuying: "飞蝇菌子",
mengsan_raider_brute_shuying: "劫掠者暴徒",
mengsan_raider_assassin_shuying: "劫掠者刺客",
mengsan_raider_axe_shuying: "劫掠者斧手",
mengsan_raider_crossbow_shuying: "劫掠者弩手",
mengsan_raider_tracker_shuying: "劫掠者追踪手",
mengsan_sushuang_zhangshiping_shuying: "苏双&张世平",
};