This commit is contained in:
33333-33333 2026-08-08 15:31:31 +09:00
commit 28591233f3
85 changed files with 946 additions and 267 deletions

View file

@ -301,6 +301,8 @@
if (t.birthRitualLeader) flags |= 1 << 7;
if (t.hasPaired) flags |= 1 << 8;
if (t.isTarinaiChampion) flags |= 1 << 9;
if (t.isAcquiredTarinai) flags |= 1 << 10;
if (t.mamekusaredakeDisease) flags |= 1 << 11;
return flags;
}
function flagApply(t, flags = 0) {
@ -314,6 +316,8 @@
t.birthRitualLeader = !!(flags & (1 << 7));
t.hasPaired = !!(flags & (1 << 8));
t.isTarinaiChampion = !!(flags & (1 << 9));
t.isAcquiredTarinai = !!(flags & (1 << 10));
t.mamekusaredakeDisease = !!(flags & (1 << 11));
if (t.isZunchiSlave) t.zunchiSlaveLocked = true;
}
function compactWorld(worldRef) {
@ -507,8 +511,7 @@
const parentIdx = (t.parents || []).map(id => familyIndex.get(id)).filter(Number.isInteger);
const timers = [
q(t.reproductionTimer, 10), q(t.fightCooldown, 10), q(t.loveMochiTimer, 10), q(t.fightMochiTimer, 10),
q(t.zunchiDiseaseSeverity, 10), q(t.zunchiStain, 10), q(t.itemEffectTimers?.laxative, 10), q(t.itemEffectTimers?.ammo, 10), q(t.mercuryLifeMultiplier, 100, 100), q(t.itemEffectTimers?.sedative, 10)
];
q(t.zunchiDiseaseSeverity, 10), q(t.zunchiStain, 10), q(t.itemEffectTimers?.laxative, 10), q(t.itemEffectTimers?.ammo, 10), q(t.mercuryLifeMultiplier, 100, 100), q(t.itemEffectTimers?.sedative, 10), q(t.mamekusaredakeGrowth, 100)];
const modes = [enumIndex(POWER_MODE_IDS, t.powerItemMode || ""), enumIndex(SIZE_MODE_IDS, t.sizeItemMode || ""), enumIndex(LIFE_MODE_IDS, t.lifeItemMode || "")];
const pinIdx = itemIndex.get(t.stuckPushpinId) ?? -1;
const nestIdx = itemIndex.get(t.insideNestBoxId) ?? -1;
@ -548,6 +551,8 @@
needs, state: "idle",
isZunchiSlave: Boolean((Number(row[0]) || 0) & (1 << 5)),
isTarinaiChampion: Boolean((Number(row[0]) || 0) & (1 << 9)),
isAcquiredTarinai: Boolean((Number(row[0]) || 0) & (1 << 10)),
mamekusaredakeDisease: Boolean((Number(row[0]) || 0) & (1 << 11)),
totalFightWins: Array.isArray(row[19]) ? u(row[19][0], 1) : 0,
totalFightLosses: Array.isArray(row[19]) ? u(row[19][1], 1) : 0,
tarinaiChampionSince: Array.isArray(row[19]) ? u(row[19][2], 10) : 0,
@ -567,6 +572,7 @@
const timers = Array.isArray(row[13]) ? row[13] : [];
t.reproductionTimer = u(timers[0], 10); t.fightCooldown = u(timers[1], 10); t.loveMochiTimer = u(timers[2], 10); t.fightMochiTimer = u(timers[3], 10);
t.zunchiDiseaseSeverity = u(timers[4], 10); t.zunchiStain = u(timers[5], 10);
t.mamekusaredakeGrowth = u(timers[10], 100, 0);
t.itemEffectTimers = { ...(t.itemEffectTimers || {}), laxative: u(timers[6], 10), ammo: u(timers[7], 10), sedative: u(timers[9], 10) };
t.mercuryLifeMultiplier = u(timers[8], 100, t.mercuryLifeMultiplier || 1);
const modes = Array.isArray(row[14]) ? row[14] : [];