P07-01-WX: 仕上がった天候の機能の受入:自然天候・雨・嵐・世界樹と成人客のマナ霧・上部の表示と予報・保存と移行(マナ炉の産出 120 を除く。P07-01 の補助の作業。原単位への加算 0)

This commit is contained in:
Agent Control Runner
2026-10-24 05:04:48 +09:00
parent 7ac2224e47
commit c50136017b
25 changed files with 1868 additions and 28 deletions
+5 -1
View File
@@ -365,6 +365,10 @@ func _update_needs_runtime(
delta_medical += int(normalized_effects.get(&"medical", 0))
delta_leisure += int(normalized_effects.get(&"leisure", 0))
delta_intimacy += int(normalized_effects.get(&"intimacy", 0))
## A13: mana fog raises an adult-verified guest's positive intimacy increase
## to floor(x1.5) = n + floor(n / 2); decreases and other guests are unchanged.
if definition.adult_verified and delta_intimacy > 0 and bool(_value(context, &"mana_fog", false)):
delta_intimacy += delta_intimacy >> 1
var after_hunger := clampi(before_hunger + delta_hunger, 0, 100)
var after_sleep := clampi(before_sleep + delta_sleep, 0, 100)
@@ -1157,7 +1161,7 @@ func _need_context_error(context: Dictionary) -> String:
var raw_value: Variant = _value(context, field_id, null)
if not raw_value is int or int(raw_value) < 0 or int(raw_value) > 100:
return "%s must be an integer from 0 through 100." % field_id
for field_id: StringName in [&"is_night", &"work_like_activity", &"unstimulated"]:
for field_id: StringName in [&"is_night", &"work_like_activity", &"unstimulated", &"mana_fog"]:
if _has_value(context, field_id) and not _value(context, field_id, null) is bool:
return "%s must be boolean." % field_id
if _has_value(context, &"need_effects"):