def activate(self): output.proclaim("-- " + self.name + " --") if self.autoGive: self.given = True if not self.given: output.proclaim(self.openerText) while True: choice = input.inputFromOptions("quest", ["decline", "accept"]) if choice == "accept": self.given = True break elif choice == "decline": output.say("Are you sure you want to decline the quest?") if input.yesNo(): break return player = globals.get_player() if self.completionCheck(player): output.proclaim(self.completeText) output.exclaim("You have completed the quest " + self.name + "!") self.rewards.activate() self.condition = lambda player: False player.completedQuests[self.name] = True else: output.proclaim(self.incompleteText)
def activate(self): output.proclaim(self.message) if len(self.locations) > 1: choice = input.inputFromOptions("go", ["stay"] + self.locations) if choice != "stay": self.player.changeLocation(choice) else: if input.yesNo(): self.player.changeLocation(self.locations[0])
def start(self): self.initGame() while self.player.alive: try: self.player.act() self.player.interact() except Exception: output.bar() output.declare("! ERROR !") output.bar() output.bellow("Adventure has crashed. The program will quit after you answer this question. See Python traceback?") if input.yesNo(): traceback.print_exc() input.getInput("end") break input.close()
def addBonus(self): stats = self.player.stats.getStats() output.say("Which stat do you want to boost for " + str(self.duration) + " turns?") while True: stat = input.inputFromOptions( "shrine", stats, lambda stat: stat.name + " by " + output.formatNumber( self.amounts[stats.index(stat)] * stat.difficultyModifier) + ", currently at " + str(stat) + ".") index = stats.index(stat) output.say("Are you sure you want to boost " + stat.name + " by " + output.formatNumber(self.amounts[index] * stat.difficultyModifier) + " for " + str(self.duration) + " turns?") if input.yesNo(): self.player.addEffect(self.buffs[index]( "shrine bonus", self.duration, self.amounts[index] * stat.difficultyModifier)) return
def activate(self): stats = self.player.stats.getStats() output.say("Which stat do you want to boost?") while True: stat = input.inputFromOptions( self.name, stats, lambda stat: stat.name + " by " + str( self.bonuses[stat.name] * stat.difficultyModifier) + ", currently at " + str(stat) + ".") output.say("Are you sure you want to boost " + str(stat.name) + " by " + str(self.bonuses[stat.name] * stat.difficultyModifier) + "?") if input.yesNo(): stat.add(self.bonuses[stat.name]) break if len(self.abilities) > 0 and self.player.level == self.abilities[0][ 2]: # check if level is correct output.exclaim("You learn a new ability: " + str(self.abilities[0][0]).upper() + "!") output.declare(self.abilities[0][1]) # ability description self.player.abilities.append(self.abilities[0][0]) self.abilities.pop(0)
def activate(self): output.say("Are you sure you want to quit?") if input.yesNo(): self.player.alive = False output.bellow("Thank you for playing!")