summaryrefslogtreecommitdiff
path: root/actions.py
diff options
context:
space:
mode:
authorSupremist <sergkarv@gmail.com>2026-03-12 00:15:04 +0200
committerSupremist <sergkarv@gmail.com>2026-03-12 00:15:04 +0200
commitc2f046b9a5315edbf0c436d970cfa42b27ef5dd6 (patch)
tree6f78b456cfd5c0fad3f25f1526b7c59f12ae3449 /actions.py
parent6cdeabcfc131a2b21599b3fa5980a4ecb59539bd (diff)
downloadpf2e_calc-c2f046b9a5315edbf0c436d970cfa42b27ef5dd6.tar.xz
pf2e_calc-c2f046b9a5315edbf0c436d970cfa42b27ef5dd6.zip
Check Twin Takedown vs Double slice
Diffstat (limited to 'actions.py')
-rw-r--r--actions.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/actions.py b/actions.py
index 9710faa..c1c9f30 100644
--- a/actions.py
+++ b/actions.py
@@ -14,6 +14,7 @@ class Attack:
strike_type="melee"
previous_attacks: int = 0
distance: int = 0
+ sneak: bool = False
def bonus(self):
return self.attacker.attack_bonus(self.weapon, self.strike_type) + self.map()
@@ -30,10 +31,24 @@ class Attack:
def damage_bonus(self):
return self.attacker.attack_damage_bonus(self.weapon, self.strike_type)
+ def __str__(self):
+ res = ""
+ if self.sneak:
+ res += "Sneak "
+ ac = self.target.ac()
+ bonus = self.bonus()
+ res += f"{self.strike_type} attack{self.previous_attacks+1} "
+ res += f"{bonus:+} vs AC {ac}: {10+bonus-ac:+}; "
+ res += Roll.short_str(self.roll())
+ res += f" Dmg: {self.strike().expected()}"
+ return res
+
def damage(self, check=Roll.Success):
persistant_damage_factor = 3 + 1/3
wp = self.weapon
dmg_bonus = self.damage_bonus()
+ if self.sneak:
+ dmg_bonus += self.attacker.sneak_attack()
if wp.backstabber:
dmg_bonus += 1
if wp.potency >= 3: