refactor: extract character effect helpers

This commit is contained in:
2026-06-04 19:47:42 +08:00
parent 7d78cc578c
commit d5d7b208f3
3 changed files with 58 additions and 10 deletions
@@ -0,0 +1,17 @@
from typing import Any
def uppercase_attrs(source: Any) -> dict[str, Any]:
return {key: value for key, value in source.__dict__.items() if key and key[0].isupper()}
def apply_uppercase_attrs(character: Any, source: Any) -> None:
character.SetStatus(**uppercase_attrs(source))
def execute_effect(effects: Any, key: str, *args: Any) -> bool:
fun = effects.execture(key)
if fun is None:
return False
fun(*args)
return True