def spWeb(self, enemy: NPC): # TODO Add logic for root special attacks printc(f"{self.name} spits web on {enemy.name}") sleep(1) printc( f"The web hardens as it comes in contact with air, {colors.BOLD}rooting {colors.RESET}{enemy.name} in place!" )
def spBite(self, enemy: NPC): # TODO Add logic for poison special attack printc(f"{self.name} bites {enemy.name}") sleep(1) printc( f"{self.name} fangs inject a deadly {colors.GREEN} poison {colors.RESET}in {enemy.name} body!" )
def spGaiaFlower(self, enemy: NPC): # Roots the target enemy with chance to inflict poison? printc( f"{self.name} touches the ground calling the spirits of the forest" ) sleep(1) printc( f"Thorny vines emerge from below and {colors.BOLD}root {colors.RESET}{enemy.name} in place" )
def spInferno(self, enemy: NPC): # TODO Add Ablaze effect printc( f"{self.name} starts hitting the ground violently with his hammers causing a magma eruption below {enemy.name}" )
def spShadowStep(self, enemy: NPC): # Double weapon DMG and chance to instakill or stun printc( f"{self.name} hides and emerges from the shadows behind {enemy.name} striking a weak spot." )
def spDivineLight(self): # TODO Heal the character and maybe add 1 turn of invinsibility (Holy Shield) printc( f"{self.name} raises his hand and calls forth a divine beam of light {colors.YELLOW}healing {colors.RESET}him" )
def attack(self, enemy): printc(f"{self.name} attacks {enemy.name}")
def printStats(self): printc(f"{len(self.name) * '_'}") printc(f'|{self.name}|') printc(f"+{len(self.name) * '-'}+") printc(f'HP: {self.hp}/{self.maxHp}') printc(f'MP: {self.mp}/{self.maxMp}') for i, j in self.stats.items(): printc(f"{i.upper()}: {j}") if ( len(str(j)) > 1) else printc(f"{i.upper()}: {j}") printc(self.desc)
def spScavenge(self, item: Item): # TODO make new battle items? find battle items? printc( f"{self.name} takes a quick look around and finds a {colors.CYAN}{item.name} under a pile of trash." )