diff options
| author | 2024-07-15 18:38:53 +0800 | |
|---|---|---|
| committer | 2024-07-15 18:38:53 +0800 | |
| commit | fae8d2273dfad2dd0cf9709f15e24640e7ebfd8d (patch) | |
| tree | c7e170446bcadfef013bf3290a6c4188053949cc /examples/rules/COC7/Character.py | |
| parent | 03812119ea6e99f549793a5e7ffac4b5765fa6a3 (diff) | |
| download | HydroRollCore-fae8d2273dfad2dd0cf9709f15e24640e7ebfd8d.tar.gz HydroRollCore-fae8d2273dfad2dd0cf9709f15e24640e7ebfd8d.zip | |
feat(Improve the underlying business directory): Improve the underlying business directory
Add { doc | feat | perf | dev } mods
Diffstat (limited to 'examples/rules/COC7/Character.py')
| -rw-r--r-- | examples/rules/COC7/Character.py | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/examples/rules/COC7/Character.py b/examples/rules/COC7/Character.py deleted file mode 100644 index bb30661..0000000 --- a/examples/rules/COC7/Character.py +++ /dev/null @@ -1,132 +0,0 @@ -# MyRule -import math - -from typing import Union -from dataclasses import dataclass - -from hrc.rule import Rule -from hrc.rule.BaseRule import CharacterCard - -aliases = Rule.aliases - -@dataclass -class Attributes(CharacterCard.Attribute): - - @aliases(["luck", "运气"], ignore_case=True) - def LUK(self) -> Union[str, int, None]: ... - - @aliases(["伤害加值", "DamageBonus"], ignore_case=True) - def DB(self) -> Union[str, int, None]: - sum = self.STR() + self.SIZ() - return ( - str(math.ceil((sum - 164) / 80)) + "D6" - if sum > 164 - else "1D4" - if sum > 124 - else "0" - if sum > 84 - else "-1" - if sum > 64 - else "-2" - if sum > 0 - else None - ) - - @aliases(["年龄", "age"], ignore_case=True) - def AGE(self) -> Union[str, int, None]: ... - - @aliases(["HitPoints", "生命值", "生命"], ignore_case=True) - def HP(self) -> Union[str, int, None]: - return self.MAX_HP - - @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 - else: - return None - - @aliases(["理智", "Sanity", "SanityPoint", "理智值", "san值"], ignore_case=True) - def SAN(self) -> Union[str, int, None]: - return self.POW() - - @aliases(["最大理智值", "MaximumSanity"], ignore_case=True) - def MAX_SAN(self) -> Union[str, int, None]: - return 99 - self.player_card.CM() - - @aliases(["魔法", "魔法值", "MagicPoints"], ignore_case=True) - def MP(self) -> Union[str, int, None]: - if hasattr(self, "POW"): - return math.floor(self.POW() / 5) - else: - return None - - @aliases(["伤害加值", "DamageBonus"], ignore_case=True) - def DB(self) -> Union[int, str, None]: # noqa: F811 - sum = self.STR() + self.SIZ() - return ( - str(math.ceil((sum - 164) / 80)) + "D6" - if sum > 164 - else "1D4" - if sum > 124 - else "0" - if sum > 84 - else "-1" - if sum > 64 - else "-2" - if sum > 0 - else None - ) - - @aliases(["体格", "build"], ignore_case=True) - def BUILD(self) -> Union[str, int, None]: - sum = self.STR() + self.SIZ() - return ( - math.ceil((sum - 84) / 80) - if sum > 164 - else 1 - if sum > 124 - else 0 - if sum > 84 - else -1 - if sum > 64 - else -2 - if sum > 0 - else None - ) - - @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() - - if age >= 40: - mov -= math.floor(age / 10 - 3) - - if str_val > siz and dex > siz: - mov += 1 - elif siz > str_val and siz > dex: - mov -= 1 - - return mov - - @aliases(["兴趣技能点", "PersonalInterests"], ignore_case=True) - def PI(self) -> Union[str, int, None]: - return self.player_card.INT() * 2 - - @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 - - @aliases(["锁匠", "开锁", "撬锁", "Locksmith"], ignore_case=True) - def LOCKSMITH(self) -> Union[str, int, None]: - return 1 - - @aliases(["动物驯养", "驯兽", "AnimalHandling"], ignore_case=True) - def ANIMAL_HANDLING(self) -> Union[str, int, None]: - return 1 |
