def rand_constitution(self): stat = self._constitution return utils.gen_stat(stat[0], stat[1], stat[2])
def rand_charisma(self): stat = self._charisma return utils.gen_stat(stat[0], stat[1], stat[2])
def rand_dexterity(self): stat = self._dexterity return utils.gen_stat(stat[0], stat[1], stat[2])
def rand_wisdom(self): stat = self._wisdom return utils.gen_stat(stat[0], stat[1], stat[2])
def rand_intelligence(self): stat = self._intelligence return utils.gen_stat(stat[0], stat[1], stat[2])
def rand_strength(self): stat = self._strength return utils.gen_stat(stat[0], stat[1], stat[2])
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