Example #1
0
 def getInitiative(enemy):
     PI = D20.roll20(1,20) + Player.dexterity_modifier
     MI = D20.roll20(1,20) + math.floor((int(enemy.dexterity) / 2)) - 5
     if PI > MI:
         return "Player"
     else:
         return "Monster"
Example #2
0
 def fightEnemy():
     rnd = random.randrange(1000)
     enemy = Combat.getEnemy()
     if enemy == "skeleton":
         enemy = Monster.Skeleton()
         print("\nYou encounter a Skeleton!")
     elif enemy == "orc":
         enemy = Monster.Orc()
         print("\nYou encounter an Orc!")
     turn = Combat.getInitiative(enemy)
     while Player.currentHealth >= 1 and enemy.hp >= 1:
         if turn == "Monster":
             enemyDamage = D20.roll20(enemy.damage[0],enemy.damage[1]) + enemy.damage[2]
             print(enemy.name, "hits you for", enemyDamage, "damage!")
             Player.currentHealth = Player.currentHealth - enemyDamage
             turn = "Player"
             if Player.currentHealth <= 0:
                 Player.isAlive = False
         elif turn == "Player":
             playerDamage = D20.roll20(Player.Inventory.rightArm.damage[0],Player.Inventory.rightArm.damage[1]) + Player.Inventory.rightArm.damage[2] + Player.strength_modifier
             print("You hit", enemy.name, "for", playerDamage, "damage!")
             enemy.hp = enemy.hp - playerDamage
             turn = "Monster"
             if enemy.hp <= 0:
                 Player.xp = int(Player.xp) + int(enemy.xp_value)
                 print("You defeated the", enemy.name, "and gained", enemy.xp_value, "xp!")
                 if rnd >= 900:
                     Player.hasKey = True
                     print("You found a Key!")