hm
This commit is contained in:
parent
cefa2ace5a
commit
0e432c62ae
87 changed files with 4282 additions and 3066 deletions
|
|
@ -379,6 +379,10 @@ function processForcedBehaviorQueue(tarinai, world, needs) {
|
|||
return false;
|
||||
}
|
||||
|
||||
function effectCauseTextLooksStale(text = "") {
|
||||
return /の効果$/.test(String(text || "").trim().replace(/[。!?]+$/, ""));
|
||||
}
|
||||
|
||||
function setBehaviorText(tarinai, { need = null, actionId = null, actionLabel = null, reasonText = null, reason = null, target = undefined, subNeed = "", phase = "active", source = "state", forced = null, forcedId = "", sourceReasonText = "", forcedReasonText = "", causeText = "" } = {}) {
|
||||
if (!tarinai) return;
|
||||
const now = tarinai.world?.time || 0;
|
||||
|
|
@ -400,9 +404,11 @@ function setBehaviorText(tarinai, { need = null, actionId = null, actionLabel =
|
|||
}
|
||||
const nextForced = forced ?? preserveForced;
|
||||
const nextSource = nextForced ? "forced" : (source || previousBehavior.source || "state");
|
||||
const nextForcedId = forcedId || previousBehavior.forcedId || "";
|
||||
const nextSourceReason = sourceReasonText || forcedReasonText || previousBehavior.sourceReasonText || "";
|
||||
const nextCauseText = causeText || previousBehavior.causeText || "";
|
||||
const nextForcedId = nextForced ? (forcedId || previousBehavior.forcedId || "") : "";
|
||||
const nextSourceReason = nextForced ? (sourceReasonText || forcedReasonText || previousBehavior.sourceReasonText || "") : (sourceReasonText || forcedReasonText || "");
|
||||
const explicitCauseText = String(causeText || "");
|
||||
const previousCauseText = String(previousBehavior.causeText || "");
|
||||
const nextCauseText = explicitCauseText || ((nextForced || !effectCauseTextLooksStale(previousCauseText)) ? previousCauseText : "");
|
||||
if (nextCauseText) {
|
||||
nextReasonText = buildReasonText(nextNeed, existingTiedNeeds.length ? existingTiedNeeds : [nextNeed], { ...(action || {}), id: nextActionId, label: nextActionLabel, subNeed: subNeed || action?.subNeed || "" }, tarinai, tarinai.world || null, { causeText: nextCauseText });
|
||||
}
|
||||
|
|
@ -422,7 +428,7 @@ function setBehaviorText(tarinai, { need = null, actionId = null, actionLabel =
|
|||
causeText: nextCauseText,
|
||||
forced: nextForced,
|
||||
forcedId: nextForcedId,
|
||||
forcedRequest: previousBehavior.forcedRequest || null,
|
||||
forcedRequest: nextForced ? (previousBehavior.forcedRequest || null) : null,
|
||||
priority: previousBehavior.priority ?? actionPriority(action),
|
||||
phase,
|
||||
startedAt: previousBehavior.startedAt || now,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue