Beispiel #1
0
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]
Beispiel #2
0
			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: