fix(avastha): keep simultaneous conditions and use the PVR activity formula

Upstream e628118d, 7d545039, f75a6e77, and ac565836. Dignity follows the sign, Deeptadi keeps every condition that applies, and Shayanadi hours come from the previous Hindu sunrise. BUG-1389.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jesse-ux
2026-10-18 16:57:45 +08:00
co-authored by Grok (agent loop) Cursor
parent 0bd254cf18
commit 83c97a8976
9 changed files with 365 additions and 49 deletions
+8 -1
View File
@@ -169,7 +169,14 @@ export function assembleReportFactTables(packet: unknown, language: ReportLangua
} else if (id === "avasthas") {
for (const [name, value] of entries(raw)) {
if (!planet(name) || isBlocked(value)) continue;
add(table, `${sourcePath}.${name}`, [L.planet(name, record(value).planet_cn), ...["Bala", "Jagrat", "Deeptadi", "Lajjitadi", "Shayanadi"].map(kind => L.text(at(value, `avasthas.${kind}.state`)))]);
const cells = ["Bala", "Jagrat", "Deeptadi", "Lajjitadi", "Shayanadi"].map(kind => {
const item = record(at(value, `avasthas.${kind}`));
if (kind === "Deeptadi" && Array.isArray(item.applicable_states) && item.applicable_states.length) {
return item.applicable_states.join("、");
}
return L.text(item.state);
});
add(table, `${sourcePath}.${name}`, [L.planet(name, record(value).planet_cn), ...cells]);
}
} else if (id === "special_points") {
for (const kind of ["upagrahas.raw", "special_lagnas", "sensitive_points"]) {