refactor: extract character effect helpers
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user