예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
    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