Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. import random
  2. def getDamage(abilityModifier, profBonus, dmgDice, greatWeaponFighting, greatWeaponMaster, improvedSmite, bonusDamge, enemyAc):
  3. toHit = random.randint(1,20)
  4. bonusDamage = 0
  5. if (toHit == 20):
  6. toHit = 1000
  7. bonusDamage = random.randint(1,dmgDice)
  8. if greatWeaponFighting and bonusDamage <= 2:
  9. bonusDamage = random.randint(1, dmgDice)
  10. if (toHit == 1):
  11. return 0
  12. toHit += abilityModifier + profBonus
  13. if greatWeaponMaster == 1:
  14. toHit -= 5
  15. if toHit < enemyAc:
  16. return 0
  17.  
  18.  
  19. damage = random.randint(1, dmgDice)
  20. if greatWeaponFighting and damage <= 2:
  21. damage = random.randint(1, dmgDice)
  22. damage += abilityModifier + bonusDamage
  23. if greatWeaponMaster:
  24. damage += 10
  25. if improvedSmite:
  26. damage += random.randint(1,8)
  27. damage += bonusDamage
  28. return damage
  29.  
  30. def getAverage(abilityModifier, profBonus, dmgDice, greatWeaponFighting, greatWeaponMaster, improvedSmite, bonusDamage, enemyAc):
  31. totalDamage = 0
  32. for i in range (0, 100000):
  33. totalDamage += getDamage(abilityModifier, profBonus, dmgDice, greatWeaponFighting, greatWeaponMaster, improvedSmite, bonusDamage, enemyAc)
  34. return totalDamage/100000
  35.  
  36. print(getAverage(4,4,10,1,1,1,3,13),getAverage(5,4,10,1,0,1,3,13) )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement