Example #1
0
 def rand_constitution(self):
     stat = self._constitution
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #2
0
 def rand_charisma(self):
     stat = self._charisma
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #3
0
 def rand_dexterity(self):
     stat = self._dexterity
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #4
0
 def rand_wisdom(self):
     stat = self._wisdom
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #5
0
 def rand_intelligence(self):
     stat = self._intelligence
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #6
0
 def rand_strength(self):
     stat = self._strength
     return utils.gen_stat(stat[0], stat[1], stat[2])
Example #7
0
    def random_char(self, printable=True):
        NewChar = self.random_name()
        given, sur = utils.get_names(NewChar)

        gender = self.gender_from_name(NewChar)

        if gender == "either":
            gender = random.choice(["male", "female"])

        if gender == "male":
            opronoun = "his"
            pronoun = "he"
        else:
            pronoun = "she"
            opronoun = "her"

        PackageClass, PackageBG, PackageStr, PackageInt, PackageWis, PackageCon, PackageDex, PackageCha, PrimaryStat = self._get_package(
            sur)
        bgstr = "%s the %s %s %s\n" % (
            NewChar, PackageClass, utils.background_from(),
            PackageBG.replace(
                '$name', NewChar).replace('$gender', gender).replace(
                    '. $pronoun', '. ' +
                    pronoun.capitalize()).replace('$pronoun', pronoun).replace(
                        '. $opronoun', '. ' + opronoun.capitalize()).replace(
                            '$opronoun', opronoun))
        gold = utils.gen_stat(0) * 10 * self.currency_exchange
        if printable:
            returnval = "Name: %s\n" % NewChar
            returnval += "Gender: %7s    Class: %s    Primary: %s\n" % (
                gender, PackageClass, PrimaryStat)

            returnval += self._print_two_stats('str', PackageStr, 'int',
                                               PackageInt, PrimaryStat)
            returnval += self._print_two_stats('wis', PackageWis, 'con',
                                               PackageCon, PrimaryStat)
            returnval += self._print_two_stats('dex', PackageDex, 'cha',
                                               PackageCha, PrimaryStat)
            returnval += "Starting gold (based on %s exchange): %s\n" % (
                self.currency, gold)
            returnval += "----------------------\n"
            returnval += bgstr
            return returnval
        returnval = "{\n"
        returnval += "  \"character\": {\n"
        returnval += "    \"name\": \"%s\",\n" % NewChar
        returnval += "    \"gender\": \"%s\",\n" % gender
        returnval += "    \"class\": \"%s\",\n" % PackageClass
        returnval += "    \"primary_stat\": \"%s\",\n" % PrimaryStat
        returnval += "    \"starting_gold\": \"%f\",\n" % gold
        returnval += "    \"background\": \"%s\",\n" % bgstr
        returnval += "    \"statblock\": {\n"
        returnval += "       \"stat\": [\n"
        returnval += self._json_stat('str', PackageStr) + ",\n"
        returnval += self._json_stat('int', PackageInt) + ",\n"
        returnval += self._json_stat('wis', PackageWis) + ",\n"
        returnval += self._json_stat('con', PackageCon) + ",\n"
        returnval += self._json_stat('dex', PackageDex) + ",\n"
        returnval += self._json_stat('cha', PackageCha) + "\n"
        returnval += "       ]\n"
        returnval += "    }\n"
        returnval += "  }\n"
        returnval += "}\n"
        return returnval