mirror of
https://github.com/Shu-Ying/noname-shuying.git
synced 2026-10-10 11:00:03 +08:00
fixed # 修补缺失资源,修正已知BUG
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
// 普通难度数值;团伙每名成员仅预测并执行自己的一项技能,随后照常出牌。
|
||||
export const RAIDER_MOVES = Object.freeze({
|
||||
beat: Object.freeze({ id: "beat", name: "殴打", damage: 7 }),
|
||||
roar: Object.freeze({ id: "roar", name: "怒吼", strength: 3 }),
|
||||
killshot: Object.freeze({ id: "killshot", name: "致命射击", damage: 10 }),
|
||||
swing: Object.freeze({ id: "swing", name: "挥击", damage: 5, block: 5 }),
|
||||
bigSwing: Object.freeze({ id: "bigSwing", name: "大力挥舞", damage: 12 }),
|
||||
reload: Object.freeze({ id: "reload", name: "装填", block: 3 }),
|
||||
fire: Object.freeze({ id: "fire", name: "射击!", damage: 14 }),
|
||||
track: Object.freeze({ id: "track", name: "追踪", debuff: "脆弱", stacks: 2 }),
|
||||
hounds: Object.freeze({ id: "hounds", name: "放狗", damage: 1, hits: 8 }),
|
||||
});
|
||||
|
||||
export const RAIDER_CYCLES = Object.freeze({
|
||||
mengsan_raider_brute_shuying: Object.freeze([RAIDER_MOVES.beat, RAIDER_MOVES.roar]),
|
||||
mengsan_raider_assassin_shuying: Object.freeze([RAIDER_MOVES.killshot]),
|
||||
mengsan_raider_axe_shuying: Object.freeze([RAIDER_MOVES.swing, RAIDER_MOVES.swing, RAIDER_MOVES.bigSwing]),
|
||||
mengsan_raider_crossbow_shuying: Object.freeze([RAIDER_MOVES.reload, RAIDER_MOVES.fire]),
|
||||
mengsan_raider_tracker_shuying: Object.freeze([RAIDER_MOVES.track, RAIDER_MOVES.hounds]),
|
||||
});
|
||||
|
||||
export function isRaiderCharacter(character) {
|
||||
return Object.hasOwn(RAIDER_CYCLES, character);
|
||||
}
|
||||
|
||||
export function selectRaiderMove(character, state = {}) {
|
||||
const cycle = RAIDER_CYCLES[character];
|
||||
if (!cycle) return null;
|
||||
const turn = state.turnsTaken || 0;
|
||||
if (!Number.isInteger(turn) || turn < 0) throw new RangeError("劫掠者行动次数无效");
|
||||
if (character === "mengsan_raider_tracker_shuying") {
|
||||
return turn === 0 ? RAIDER_MOVES.track : RAIDER_MOVES.hounds;
|
||||
}
|
||||
return cycle[turn % cycle.length];
|
||||
}
|
||||
|
||||
export function recordRaiderAction(state = {}) {
|
||||
return { turnsTaken: (state.turnsTaken || 0) + 1 };
|
||||
}
|
||||
Reference in New Issue
Block a user