From c705ae942573984784ef501bf8198f61f5206ddd Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 9 Jul 2026 05:27:10 -0400 Subject: refactor: simplify yaml, remove support for old scalar fields --- internal/game/act.go | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) (limited to 'internal/game/act.go') diff --git a/internal/game/act.go b/internal/game/act.go index ddeed04..91f05a8 100644 --- a/internal/game/act.go +++ b/internal/game/act.go @@ -7,6 +7,7 @@ import ( "strings" "thehouseoficarus/internal/behavior" + "thehouseoficarus/internal/engine" "thehouseoficarus/internal/net" "thehouseoficarus/internal/object" "thehouseoficarus/internal/player" @@ -332,7 +333,7 @@ func flagMatches(present bool, val, want any, not bool) bool { if want == nil { match = present && isTruthy(val) } else { - match = present && valuesEqual(val, want) + match = present && engine.ValuesEqual(val, want) } if not { return !match @@ -340,31 +341,6 @@ func flagMatches(present bool, val, want any, not bool) bool { return match } -// valuesEqual compares two any-typed values, normalizing numeric types (int, -// int64, float64) so that e.g. int(3) == int64(3) == float64(3). Non-numeric -// types fall back to ==. -func valuesEqual(a, b any) bool { - ai, aok := numericValue(a) - bi, bok := numericValue(b) - if aok && bok { - return ai == bi - } - return a == b -} - -// numericValue returns the value as a float64 if it is a numeric type. -func numericValue(v any) (float64, bool) { - switch x := v.(type) { - case int: - return float64(x), true - case int64: - return float64(x), true - case float64: - return x, true - } - return 0, false -} - func isTruthy(v any) bool { switch x := v.(type) { case nil: -- cgit v1.2.3