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"
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!")