def attack(self, other, message_console, messages): damage = self.stats.at - other.stats.df message = re.construct_message(self, other, " attack ", " attacks ", " for ", damage, " HP") other.stats.hp -= damage if other.stats.hp < 1: message += " " + re.construct_message( other, other, " die", " dies", "", 0, "", "!", True) other.block_m = False other.char = ord("%") other.draw_order = cx.DrawOrder.FLOOR if message != "": re.messageprint(message_console, message, messages)
def istrapped(self, map, entities, map_console, message_console, messages, player_gold): trap_entity = trap_at(entities, self.x, self.y) if (trap_entity is not None): if trap_entity.trapstate == 0: if trap_entity.dispname not in ["gold", "stairs", "artifact"]: trap_entity.trapstate = 1 message = re.construct_message(self, trap_entity, " trigger the ", " triggers the ", "", 0, unit="", s_end=" trap!", shortmsg=False) re.messageprint(message_console, message, messages) else: if trap_entity.dispname == "gold": trap_entity.trapstate = 1 grand = randint(8, 32) message = "You collect " + str(grand) + chr( CHARS["gold"]) + "!" if grand % 7 == 2: message = "You trigger the Gold trap! (Just kidding! " + message + ")" re.messageprint(message_console, message, messages) player_gold += grand elif trap_entity.dispname == "stairs": trap_entity.trapstate = 1 message = "You go down the stairs!" re.messageprint(message_console, message, messages) elif trap_entity.dispname == "artifact": trap_entity.trapstate = 1 message = "You got the artifact! +2500 gold! You have won the game!" player_gold += 2500 re.messageprint(message_console, message, messages) return player_gold
def talk(self, other, message_console, messages): message = re.construct_message(self, other, " talk to ", " talks to ") if message != "": re.messageprint(message_console, message, messages)