| @@ -42,7 +42,7 @@ def gen_name(length=None, minimum=3): | |||
| class Plot: | |||
| loc1 = ["friendly","hostile","derelict","airless","poison-filled/covered","overgrown","looted","burning","frozen","haunted","infested"] | |||
| loc2 = ["asteroid","moon","space station","spaceship","ringworld","Dyson sphere","planet","Space Whale","pocket of folded space","time vortex","Reroll"] | |||
| loc2 = ["asteroid","moon","space station","spaceship","ringworld","Dyson sphere","planet","Space Whale","pocket of folded space","time vortex","battlefield"] | |||
| miss = ["explore","loot everything not bolted down too securely","find the last group of kobolds who came here","find a rumored secret weapon","find a way to break someone else's secret weapon","claim this place in the name of the Kobold Empire","make friends","rediscover lost technology","find lost magical items","find and defeat a powerful enemy"] | |||
| prob = adversaries.prob | |||
| @@ -51,10 +51,9 @@ class Plot: | |||
| self.locIndex = int(locIndex) if locIndex != None else r.randint(0, len(Plot.loc2)-1) | |||
| self.battlefield = int(battlefield) if battlefield != None else 0 | |||
| self.location = location if location != None else Plot.loc2[self.locIndex] | |||
| if locIndex == None and self.locIndex == len(Plot.loc2) - 2: | |||
| if self.battlefield == 0: | |||
| self.battlefield = 1 | |||
| self.locIndex = r.randint(0, len(Plot.loc2)-3) | |||
| if locIndex == None and loc2[self.locIndex] == "battlefield": | |||
| self.battlefield = 1 | |||
| self.locIndex = r.randint(0, len(Plot.loc2)-2) | |||
| elif locIndex == None and self.locIndex != len(Plot.loc2) - 1: | |||
| if self.location == "": | |||
| self.location = Plot.loc2[self.locIndex] | |||
| @@ -741,9 +740,12 @@ class Campaign: | |||
| secnote = "" | |||
| if self.params.problem["hasMinion"]: | |||
| secnote = "Their minion: " + self.params.secProblem["note"] | |||
| bf = "" | |||
| if self.params.battlefield: | |||
| bf = "a battlefield on " | |||
| lines = [ | |||
| f"The Kobolds of the {self.ship.fullname}", | |||
| f"have been sent out to {self.art} {self.params.loc_desc} {self.params.location}!", | |||
| f"have been sent out to {bf}{self.art} {self.params.loc_desc} {self.params.location}!", | |||
| f"in order to {mission}", | |||
| f"but they're challenged by {self.params.fullProblem}!", | |||
| f"{note} {secnote}", | |||
| @@ -776,7 +778,7 @@ class Campaign: | |||
| f"<div id='themission' class='firstrow'>\n" | |||
| f" <span class='head'>The Mission</span>\n" | |||
| f" <span id='missionloc'>\n" | |||
| f" The kobolds have been sent to {self.art} {self.params.loc_desc} {self.params.location}\n" | |||
| f" The kobolds have been sent to {bf}{self.art} {self.params.loc_desc} {self.params.location}\n" | |||
| f" </span><br>\n" | |||
| f" <span id='missiontarget'>\n" | |||
| f" in order to {mission}!\n" | |||
| @@ -851,6 +853,12 @@ def lpad(s, n, c="0"): | |||
| s = c + s | |||
| return s | |||
| def create_password(): | |||
| pw = [] | |||
| for _ in range(84): | |||
| pw.append(r.choice(Campaign.ALPHABET)) | |||
| return "".join(pw) | |||
| if __name__ == "__main__": | |||
| parser = argparse.ArgumentParser() | |||
| group = parser.add_mutually_exclusive_group() | |||
| @@ -869,6 +877,7 @@ if __name__ == "__main__": | |||
| cmp.print_chars(html=html) | |||
| cmp.print_password(html=html) | |||
| elif args.campaign: | |||
| #cmp = Campaign(fromPW = True, pw=create_password()) | |||
| cmp = Campaign(args.campaign) | |||
| cmp.print_params(html=html) | |||
| cmp.print_chars(html=html) | |||