-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmagic.py
More file actions
43 lines (34 loc) · 1.81 KB
/
Copy pathmagic.py
File metadata and controls
43 lines (34 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import pygame
from settings import *
from random import randint
class MagicPlayer(object):
def __init__(self,animation_player):
self.animation_player = animation_player
# WHITE MAGIC
def heal(self,player,strength,cost,groups):
if player.energy >= cost:
player.health += strength
player.energy -= cost
if player.health >= player.stats['health']:
player.health = player.stats['health']
self.animation_player.create_particles('aura',player.rect.center,groups)
self.animation_player.create_particles('heal',player.rect.center + pygame.math.Vector2(0,-20),groups)
# BLACK MAGIC
def flame(self,player,cost,groups):
if player.energy >= cost:
player.energy -= cost
if player.status.split('_')[0] == 'right': direction = pygame.math.Vector2(1,0)
elif player.status.split('_')[0] == 'left': direction = pygame.math.Vector2(-1,0)
elif player.status.split('_')[0] == 'up': direction = pygame.math.Vector2(0,-1)
else: direction = pygame.math.Vector2(0,1)
for i in range(1,6):
if direction.x:
offset_x = (direction.x * i) * TILESIZE
x = player.rect.centerx + offset_x + randint(-TILESIZE //3, TILESIZE // 3)
y = player.rect.centery + randint(-TILESIZE //3, TILESIZE // 3)
self.animation_player.create_particles('flame',(x,y),groups)
else:
offset_y = (direction.y * i) * TILESIZE
x = player.rect.centerx + randint(-TILESIZE //3, TILESIZE // 3)
y = player.rect.centery + offset_y + randint(-TILESIZE //3, TILESIZE // 3)
self.animation_player.create_particles('flame',(x,y),groups)