fix: recognize localized GAMERS skill conditions
Publish GitHub Pages output / publish (push) Successful in 47s
Publish GitHub Pages output / publish (push) Successful in 47s
This commit is contained in:
+9
-1
@@ -1,5 +1,13 @@
|
|||||||
---
|
---
|
||||||
updatedAt: 2026-09-04T23:39:07+09:00
|
updatedAt: 2026-09-05T10:20:00+09:00
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2026년 9월 5일
|
||||||
|
|
||||||
|
### 게이머즈 소속 조건 판정 수정
|
||||||
|
|
||||||
|
`FIXED` 게이머즈 멤버가 소속 조건에서 누락되던 문제를 수정했습니다. 수영복 오카유, 일반 5성 미오, 4성 오카유·코로네의 게이머즈 조건 및 대상 지정이 있는 리더 의상·패시브·스킬 효과가 정상 적용됩니다.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2026년 9월 4일
|
## 2026년 9월 4일
|
||||||
|
|||||||
@@ -29,6 +29,12 @@ test('복수 소속 멤버는 표기된 각 기수에 모두 속한다', () => {
|
|||||||
assert.equal(skillConditionSatisfied('1기생(이)가 1명 이상이면', [fubuki]), true);
|
assert.equal(skillConditionSatisfied('1기생(이)가 1명 이상이면', [fubuki]), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('한글 게이머즈 소속은 영문 GAMERS 조건과 일치한다', () => {
|
||||||
|
const okayu = { type: '해피', generation: 'hololive 게이머즈' };
|
||||||
|
assert.equal(skillTargetBelongsTo(okayu, 'GAMERS'), true);
|
||||||
|
assert.equal(skillConditionSatisfied('GAMERS(이)가 2명 이상이면', [okayu, okayu]), true);
|
||||||
|
});
|
||||||
|
|
||||||
test('ID 기수는 같은 번호의 JP 기수와 구분한다', () => {
|
test('ID 기수는 같은 번호의 JP 기수와 구분한다', () => {
|
||||||
for (const number of [1, 2, 3]) {
|
for (const number of [1, 2, 3]) {
|
||||||
const member = { type: '퓨어', generation: `hololive ID ${number}기생` };
|
const member = { type: '퓨어', generation: `hololive ID ${number}기생` };
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ export function plainSkillText(value: string): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function normalizedGroup(value: string): string {
|
function normalizedGroup(value: string): string {
|
||||||
return value
|
const normalized = value
|
||||||
.replace(/^hololive\s+/i, '')
|
.replace(/^hololive\s+/i, '')
|
||||||
.replace(/^(?:EN|DEV_IS)\s+/i, '')
|
.replace(/^(?:EN|DEV_IS)\s+/i, '')
|
||||||
.replace(/\(이\)가$/, '')
|
.replace(/\(이\)가$/, '')
|
||||||
.replace(/\s*타입$/, '')
|
.replace(/\s*타입$/, '')
|
||||||
.trim()
|
.trim()
|
||||||
.toLowerCase();
|
.toLowerCase();
|
||||||
|
return normalized === '게이머즈' ? 'gamers' : normalized;
|
||||||
}
|
}
|
||||||
|
|
||||||
function memberBelongsTo(member: SkillConditionMember, group: string): boolean {
|
function memberBelongsTo(member: SkillConditionMember, group: string): boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user