def shiftTheBattlefield(self): bSuccess = False playerPos = self.playerNode.getPos() for enemy in self._enemyListRef: enemyPos = enemy.enemyNode.getPos() if utils.getIsInRange(playerPos, enemyPos, self.combatRange): bSuccess = True if self.getStrengthModifier() + utils.getD20() > enemy.armorClass: self._hudRef.printFeedback('Shift the Battlefield hit', True) self.enemyFleeFromPlayer(enemy) # Might want to replace the getD8 to depend on the player's weapon dmg = 2 * utils.getD8() + self.getStrengthModifier() enemy.receiveDamage(dmg) enemy.enemyModel.play('hit') else: #print 'shiftTheBattlefield missed' self._hudRef.printFeedback('Shift the Battlefield missed') dmg = (2 * utils.getD8() + self.getStrengthModifier()) / 2 enemy.receiveDamage(dmg) enemy.enemyModel.play('hit') return bSuccess
def getDamageBonus(self): randomDamage = 0 if self.damageRange == 4: randomDamage = utils.getD4() elif self.damageRange == 6: randomDamage = utils.getD6() elif self.damageRange == 8: randomDamage = utils.getD8() elif self.damageRange == 10: randomDamage = utils.getD10() return self.getStrengthModifier() + randomDamage + self.damageBonus