aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/COC7/Character.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/COC7/Character.py')
-rw-r--r--examples/COC7/Character.py40
1 files changed, 13 insertions, 27 deletions
diff --git a/examples/COC7/Character.py b/examples/COC7/Character.py
index 70b934b..37e2a4e 100644
--- a/examples/COC7/Character.py
+++ b/examples/COC7/Character.py
@@ -10,14 +10,13 @@ from hrc.rule.BaseRule import CharacterCard
@dataclass
class Attributes(CharacterCard.Attribute):
- @property
+
@aliases(["luck", "运气"], ignore_case=True)
def LUK(self) -> Union[str, int, None]: ...
- @property
@aliases(["伤害加值", "DamageBonus"], ignore_case=True)
def DB(self) -> Union[str, int, None]:
- sum = self.STR + self.SIZ
+ sum = self.STR() + self.SIZ()
return (
str(math.ceil((sum - 164) / 80)) + "D6"
if sum > 164
@@ -32,45 +31,38 @@ class Attributes(CharacterCard.Attribute):
else None
)
- @property
@aliases(["年龄", "age"], ignore_case=True)
def AGE(self) -> Union[str, int, None]: ...
- @property
@aliases(["HitPoints", "生命值", "生命"], ignore_case=True)
def HP(self) -> Union[str, int, None]:
return self.MAX_HP
- @property
@aliases(["最大生命值", "HitPointTotal", "总生命值"], ignore_case=True)
def MAX_HP(self) -> Union[str, int, None]:
if hasattr(self, "CON") and hasattr(self, "SIZ"):
- return (self.CON + self.SIZ) // 10
+ return (self.CON() + self.SIZ()) // 10
else:
return None
- @property
@aliases(["理智", "Sanity", "SanityPoint", "理智值", "san值"], ignore_case=True)
def SAN(self) -> Union[str, int, None]:
- return self.POW
+ return self.POW()
- @property
@aliases(["最大理智值", "MaximumSanity"], ignore_case=True)
def MAX_SAN(self) -> Union[str, int, None]:
- return 99 - self.player_card.CM
+ return 99 - self.player_card.CM()
- @property
@aliases(["魔法", "魔法值", "MagicPoints"], ignore_case=True)
def MP(self) -> Union[str, int, None]:
if hasattr(self, "POW"):
- return math.floor(self.POW / 5)
+ return math.floor(self.POW() / 5)
else:
return None
- @property
@aliases(["伤害加值", "DamageBonus"], ignore_case=True)
def DB(self) -> Union[int, str, None]: # noqa: F811
- sum = self.STR + self.SIZ
+ sum = self.STR() + self.SIZ()
return (
str(math.ceil((sum - 164) / 80)) + "D6"
if sum > 164
@@ -85,10 +77,9 @@ class Attributes(CharacterCard.Attribute):
else None
)
- @property
@aliases(["体格", "build"], ignore_case=True)
def BUILD(self) -> Union[str, int, None]:
- sum = self.STR + self.SIZ
+ sum = self.STR() + self.SIZ()
return (
math.ceil((sum - 84) / 80)
if sum > 164
@@ -103,14 +94,13 @@ class Attributes(CharacterCard.Attribute):
else None
)
- @property
@aliases(["移动速度"], ignore_case=True)
def MOV(self) -> Union[str, int, None]:
mov = 8
- siz = self.player_card.SIZ
- str_val = self.player_card.STR
- dex = self.player_card.DEX
- age = self.AGE
+ siz = self.player_card.SIZ()
+ str_val = self.player_card.STR()
+ dex = self.player_card.DEX()
+ age = self.AGE()
if age >= 40:
mov -= math.floor(age / 10 - 3)
@@ -122,24 +112,20 @@ class Attributes(CharacterCard.Attribute):
return mov
- @property
@aliases(["兴趣技能点", "PersonalInterests"], ignore_case=True)
def PI(self) -> Union[str, int, None]:
- return self.player_card.INT * 2
+ return self.player_card.INT() * 2
- @property
@aliases(["闪避", "Dodge"], ignore_case=True)
def DODGE(self) -> Union[str, int, None]:
if hasattr(self.player_card, "DEX"):
return math.floor(self.player_card.DEX / 2)
return None
- @property
@aliases(["锁匠", "开锁", "撬锁", "Locksmith"], ignore_case=True)
def LOCKSMITH(self) -> Union[str, int, None]:
return 1
- @property
@aliases(["动物驯养", "驯兽", "AnimalHandling"], ignore_case=True)
def ANIMAL_HANDLING(self) -> Union[str, int, None]:
return 1