def basic(bossStats, bossPos, playerPos, recov, recovRate): ''' ai hits player if close enough ''' ''' elaborate stuff right here ''' if recov == 0: if math.fabs(playerPos['y'] - bossPos['y']) <= bossStats['range'] and math.fabs(playerPos['x'] - bossPos['x']) <= bossStats['range']: return [damage.calc({'raw': bossStats['raw'], 'crit': bossStats['luck']}, {'def': 1}), recovRate] else: return [0, 0] else: return [0, recov - 1]
if event.type == KEYDOWN and event.key == K_d: playerPos['x'] += movementRate camera.x += 1 weaponPos['x'] += movementRate if combat: ''' attack ''' if event.type == KEYDOWN and event.key == K_e: if playerRecov <= 0: mods = pygame.key.get_mods() if playerStats['st'] >= 80 and mods & KMOD_SHIFT: ''' power attack ''' weaponAngle = -90 if fabs(playerPos['y'] - bossPos['y']) <= 32 and fabs(playerPos['x'] - bossPos['x']) <= 32: bossStats['hp'] -= damage.calc(weaponStats, bossStats, 1.5) if bossPos['x'] < playerPos['x']: bossPos['x'] += randrange(1, 33) else: bossPos['x'] += randrange(-32, 0) if bossPos['y'] < playerPos['y']: bossPos['y'] += randrange(1, 33) else: bossPos['y'] += randrange(-32, 0) playerStats['st'] -= 80 else: weaponAngle = -45 if fabs(playerPos['y'] - bossPos['y']) <= 16 and fabs(playerPos['x'] - bossPos['x']) <= 16: