Beispiel #1
0
      def L2(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         musket_SS = attack.factor_ac(DEX + P - 5, t.ac, D(12)(A) + DEX + 10)

         ba_flurry = attack.factor_ac(DEX + P, t.ac, D(4)(A) + DEX) + attack.factor_ac(DEX + P, t.ac, D(4)(A) + DEX)
         return musket_SS + ba_flurry
Beispiel #2
0
      def L2(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof

         musket_SS_1_atkroll = D(20)(A) + DEX + P - 5

         musket_SS_1_damage = 0
         musket_SS_2_atkroll = D(20)(A) + DEX + P - 5

         musket_SS_2_damage = 0
         ki_used = False

         if musket_SS_1_atkroll >= t.ac:
            musket_SS_1_damage = D(12)(A) + DEX + 10
         # Use Focused Aim to boost attack roll by 2
         elif musket_SS_1_atkroll + 2 >= t.ac:
            musket_SS_1_damage = D(12)(A) + DEX + 10
            ki_used = True

         if musket_SS_2_atkroll >= t.ac:
            musket_SS_2_damage = D(12)(A) + DEX + 10
         # If Focused Aim would let us hit & we didn't already use ki
         elif musket_SS_2_atkroll + 2 >= t.ac and not ki_used:
            musket_SS_2_damage = D(12)(A) + DEX + 10

         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5, t.ac, D(12)(A) + DEX + 10)

         return musket_SS_1_damage + musket_SS_2_damage + musket_SS_ba_damage
Beispiel #3
0
      def L2(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof

         musket_damage, _ = self.musket_attack(0, DEX, P, t, False)
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5, t.ac, D(12)(A) + DEX + 10)

         return musket_damage + musket_SS_ba_damage
Beispiel #4
0
      def _(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         ARCHERY = 2
         musket_damage, _ = self.musket_attack(ARCHERY, DEX, P, t, False, advantage=True, dread_ambusher=False)

         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5 + ARCHERY, t.ac, D(12)(A) + DEX + 10, adv=1)

         return musket_damage + musket_SS_ba_damage
Beispiel #5
0
      def _(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         ARCHERY = 2
         musket_damage_1, sd_left = self.musket_attack(ARCHERY, DEX, P, t, False, advantage=True, dread_ambusher=False, emboldening_bond=True, precision=4)
         musket_damage_2, _ = self.musket_attack(ARCHERY, DEX, P, t, False, advantage=True, dread_ambusher=False, emboldening_bond=True, precision=sd_left)

         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5 + ARCHERY, t.ac, D(12)(A) + DEX + 10, adv=1)

         return musket_damage_1 + musket_damage_2 + musket_SS_ba_damage
Beispiel #6
0
      def _(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         ARCHERY = 2

         # OWTB Damage Bonus is negligible here, so ignoring from now on
         musket_damage, _ = self.musket_attack(ARCHERY, DEX, P, t, False, dread_ambusher=True)
         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5 + ARCHERY, t.ac, D(12)(A) + DEX + 10)

         return musket_damage + musket_SS_ba_damage
Beispiel #7
0
      def _(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         ARCHERY = 2

         musket_damage, _ = self.musket_attack(ARCHERY, DEX, P, t, True)

         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5 + ARCHERY, t.ac, D(12)(A) + DEX + 10)

         return musket_damage + musket_SS_ba_damage
Beispiel #8
0
      def _(p: Player, t: Monster):
         DEX = p.modifiers["DEX"]
         P = p.prof
         ARCHERY = 2
         # OWTB Damage Bonus is negligible here, so ignoring from now on
         musket_damage_1, sd_left = self.musket_attack(ARCHERY, DEX, P, t, False, dread_ambusher=True, emboldening_bond=True, precision=4)
         musket_damage_2, _ = self.musket_attack(ARCHERY, DEX, P, t, False, dread_ambusher=True, emboldening_bond=True, precision=sd_left)

         # Ki-Fueled Attack
         musket_SS_ba_damage = attack.factor_ac(DEX + P - 5 + ARCHERY, t.ac, D(12)(A) + DEX + 10)

         return musket_damage_1 + musket_damage_2 + musket_SS_ba_damage
Beispiel #9
0
 def L2(p: Player, t: Monster):
    DEX = p.modifiers["DEX"]
    P = p.prof
    musket = attack.factor_ac(DEX + P, t.ac, D(12)(A) + DEX)
    ba_punch = attack.factor_ac(DEX + P, t.ac, D(4)(A) + DEX)
    return musket + ba_punch
Beispiel #10
0
 def L1(p: Player, t: Monster):
    DEX = p.modifiers["DEX"]
    P = p.prof
    punch = attack.factor_ac(DEX + P, t.ac, D(4)(A) + p.modifiers["DEX"])
    ba_punch = attack.factor_ac(DEX + P, t.ac, D(4)(A) + DEX)
    return punch + ba_punch