zenno/chara/convo: use condition_type

Fixes #8.
This commit is contained in:
2026-09-06 11:56:50 -04:00
parent 15f6d2c59a
commit 869235a8c2
2 changed files with 57 additions and 37 deletions
+19 -1
View File
@@ -32,7 +32,25 @@ export interface Conversation {
/**
* Some unknown number in the game's local database.
*/
condition_type: 0 | 1 | 2 | 3 | 4;
condition_type: Required;
}
export enum Required {
None = 0,
All = 1,
Chara1 = 2,
Chara2 = 3,
Chara3 = 4,
}
export function requiredCharas(c: Conversation): number[] {
switch (c.condition_type) {
case Required.None: return []
case Required.All: return [c.chara_1, c.chara_2, c.chara_3].filter((id) => id != null);
case Required.Chara1: return [c.chara_1];
case Required.Chara2: return [c.chara_2!];
case Required.Chara3: return [c.chara_3!];
}
}
export async function conversation(): Promise<Conversation[]> {