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

@ -1539,7 +1539,7 @@
handleClick(x, y) {
const tool = this.tool;
if (!isPlacementTool(tool) && !["delete", "area_delete", "copy", "poke", "pinch", "water_hose", "rope", "rod", "spring", "wire", "insulated_wire", "new", "bell"].includes(tool)) {
if (!isPlacementTool(tool) && !["delete", "area_delete", "copy", "poke", "pinch", "water_hose", "rope", "rod", "spring", "wire", "insulated_wire", "new", "acquired_tarinai", "bell"].includes(tool)) {
const editable = findEditableItemAt(this, x, y);
if (editable && openEditableItemEditor(editable, this)) {
global.TarinaiCommands.setSelection(this, null) || (this.selected = null);
@ -1629,7 +1629,28 @@
global.TarinaiAchievements?.recordManualTarinaiAdded?.({ world: this, tarinai: t, tool: "new" });
return;
}
if (tool === "acquired_tarinai") {
const spot = this.edgeSpawnPoint(x, y, 42, true);
const t = this.addTarinai({ x: spot.x, y: spot.y, vx: spot.vx, vy: spot.vy, generation: 1, entryTimer: 2.0, isAcquiredTarinai: true });
if (!t) { showToast(`\u305f\u308a\u306a\u3044\u500b\u4f53\u6570\u306f${this.tarinaiPopulationLimit}\u5339\u307e\u3067\u3067\u3059\u3002`); return; }
t.wanderAngle = spot.angle;
if (Math.random() < 0.5 && typeof t.enterPanic === "function") {
t.enterPanic({
target: null,
reason: "おちびになって混乱している",
fear: 1.25,
wake: true,
cause: "acquired_tarinai_spawn",
bubble: "!!",
bubbleCooldown: 0.75
});
}
global.TarinaiAchievements?.recordManualTarinaiAdded?.({ world: this, tarinai: t, tool: "acquired_tarinai" });
return;
}
if (tool === "copy") { this.useCopyToolAt?.(x, y); return; }
if (this.useToolAt?.(x, y)) return;