This commit is contained in:
33333-33333 2026-06-28 23:07:40 +09:00
commit 0e432c62ae
87 changed files with 4282 additions and 3066 deletions

View file

@ -91,12 +91,16 @@ function createSleepBuildGrassBedActionSpec() {
phrase: "\u304b\u3093\u305f\u3093\u30d9\u30c3\u30c9\u3092\u4f5c\u3063\u305f",
weight: 18,
timerBacked: true,
selectTarget: selectRoleTarget("grassMaterial", 520),
selectTarget(t, world) { return (typeof findNearbyBuildMaterial === "function" ? findNearbyBuildMaterial(world, t, "grass_bed", 520) : null) || findNearbyMaterial(world, t, "grassMaterial", 520); },
canStart(t, world, ctx = {}) {
const higherPriorityPlace = typeof findPrioritySleepPlaceBeforeGrassBedBuild === "function"
? findPrioritySleepPlaceBeforeGrassBedBuild(world, t, 760)
: findNearestSleepPlace(world, t, 760);
return canBuildOwnedStructureByAge(t)
&& !findNearestSleepPlace(world, t, 760)
&& !higherPriorityPlace
&& !findOwnedStructure(world, t, "grass_bed")
&& !!(ctx.target ?? this.selectTarget(t, world, ctx))
&& !(Number(t?.actionIdCooldowns?.sleep_build_grass_bed || 0) > 0.01)
&& !["fight", "panic", "intimidate", "birth_ritual"].includes(t.state);
},
start(t, world) { return buildOwnedStructureFromGrass(t, world, "grass_bed", this.label); },
@ -504,7 +508,7 @@ const TARINAI_ACTION_DEFINITIONS = [
label: "\u304b\u3093\u305f\u3093\u30d9\u30c3\u30c9\u3092\u4f5c\u3063\u3066\u3044\u308b",
phrase: "\u304b\u3093\u305f\u3093\u30d9\u30c3\u30c9\u3092\u4f5c\u3063\u305f",
weight: 34,
selectTarget: selectRoleTarget("grassMaterial", 520),
selectTarget(t, world) { return (typeof findNearbyBuildMaterial === "function" ? findNearbyBuildMaterial(world, t, "grass_bed", 520) : null) || findNearbyMaterial(world, t, "grassMaterial", 520); },
canStart(t, world, ctx = {}) { return canBuildOwnedStructureByAge(t) && !findOwnedStructure(world, t, "grass_bed") && !!(ctx.target ?? this.selectTarget(t, world, ctx)) && !["sleep", "fight", "panic", "intimidate"].includes(t.state); },
start(t, world) { return buildOwnedStructureFromGrass(t, world, "grass_bed", this.label); },
},
@ -515,7 +519,7 @@ const TARINAI_ACTION_DEFINITIONS = [
label: "\u306c\u3044\u3050\u308b\u307f\u3092\u4f5c\u3063\u3066\u3044\u308b",
phrase: "\u306c\u3044\u3050\u308b\u307f\u3092\u4f5c\u3063\u305f",
weight: 28,
selectTarget: selectRoleTarget("grassMaterial", 520),
selectTarget(t, world) { return (typeof findNearbyBuildMaterial === "function" ? findNearbyBuildMaterial(world, t, "plushie", 520) : null) || findNearbyMaterial(world, t, "grassMaterial", 520); },
canStart(t, world, ctx = {}) { return canBuildOwnedStructureByAge(t) && !findOwnedStructure(world, t, "plushie") && !!(ctx.target ?? this.selectTarget(t, world, ctx)) && !["sleep", "fight", "panic", "intimidate"].includes(t.state); },
start(t, world) { return buildOwnedStructureFromGrass(t, world, "plushie", this.label); },
},