| @@ -22,26 +22,6 @@ def gen_name(n=None): | |||
| return "".join(morae) | |||
| def gen_stats(n): | |||
| if n < 4: | |||
| print("Too few stat points!") | |||
| return [0,0,0,0] | |||
| stats = [1,1,1,1] | |||
| points = n - 4 | |||
| slots = [0,1,2,3] | |||
| for _ in range(points): | |||
| tgl = False | |||
| while tgl == False: | |||
| slt = r.choice(slots) | |||
| if stats[slt] == 6: | |||
| continue | |||
| if stats[slt] == 5: | |||
| if r.randint(0,1) == 1: | |||
| continue | |||
| stats[slt] += 1 | |||
| tgl = True | |||
| return stats | |||
| def gen_career(): | |||
| return r.choice(["Soldier/Guard","Pilot","Medic","Mechanic","Politician","Spellcaster","Performer","Historian","Spy","Cook","Cartographer"]) | |||
| @@ -87,8 +67,44 @@ class Character: | |||
| def gen_name(self): | |||
| self.name = gen_name() | |||
| def gen_stats(self): | |||
| self.stats = gen_stats(12) | |||
| def gen_stats(self, n=12): | |||
| if n < 4: | |||
| print("Too few stat points!") | |||
| return [0,0,0,0] | |||
| stats = [0,0,0,0] | |||
| points = n | |||
| slots = [0,1,2,3] | |||
| for _ in range(points): | |||
| tgl = False | |||
| while tgl == False: | |||
| slt = r.choice(slots) | |||
| if slt <= 1: | |||
| if stats[slt] == 6: | |||
| continue | |||
| if stats[slt] == 5: | |||
| if r.randint(0,1) != 1: | |||
| continue | |||
| else: | |||
| if stats[slt] == 6: | |||
| continue | |||
| if stats[slt] == 5: | |||
| if r.randint(0,3) != 1: | |||
| continue | |||
| if stats[slt] == 4: | |||
| if r.randint(0,2) != 1: | |||
| continue | |||
| if stats[slt] == 3: | |||
| if r.randint(0,1) != 1: | |||
| continue | |||
| stats[slt] += 1 | |||
| tgl = True | |||
| stats[3] = stats[3] + 2 | |||
| if stats[3] > 6: | |||
| stats[3] = 6 | |||
| stats[2] = stats[2] + 2 | |||
| if stats[2] > 6: | |||
| stats[2] = 6 | |||
| self.stats = stats | |||
| def gen_career(self): | |||
| self.career = gen_career() | |||
| @@ -126,11 +142,11 @@ class Campaign: | |||
| self.characters.append(c) | |||
| self.art = "an" if self.params[1][0] in ["A","E","I","O","U"] else "a" | |||
| def print_params(self): | |||
| print(f"The Kobolds of the {self.ship.fullname}") | |||
| print(f"have been sent out to {self.art} {self.params[0]} {self.params[1]}") | |||
| print(f"in order {self.params[2]}") | |||
| print(f"but they're challenged by {self.params[3]}!") | |||
| def print_params(self, endc=""): | |||
| print(f"The Kobolds of the {self.ship.fullname} ", end=endc) | |||
| print(f"have been sent out to {self.art} {self.params[0]} {self.params[1]} ", end=endc) | |||
| print(f"in order {self.params[2]} ", end=endc) | |||
| print(f"-- but they're challenged by {self.params[3]}!") | |||
| print() | |||
| self.ship.print() | |||
| @@ -168,4 +184,4 @@ if __name__ == "__main__": | |||
| for _ in range(args.kobolds): | |||
| c = Character() | |||
| c.generate() | |||
| c.print() | |||
| c.print() | |||