aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2017-11-24 20:43:47 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2017-11-24 20:43:47 +0700
commit4370b1531d7bd5f84340254014e4d9479609239d (patch)
treeadc053afad49e0e816b40ef4d638a848cbf54687
parent1578586f24c74786976f0c675c901f5e30fa6bbb (diff)
downloadbrutalmaze-0.2.1.tar.gz
Make critical close-range hits independent of FPS0.2.1
-rw-r--r--brutalmaze/characters.py8
-rw-r--r--brutalmaze/constants.py2
-rw-r--r--brutalmaze/maze.py4
-rwxr-xr-xsetup.py2
4 files changed, 7 insertions, 9 deletions
diff --git a/brutalmaze/characters.py b/brutalmaze/characters.py
index e123dec..0947300 100644
--- a/brutalmaze/characters.py
+++ b/brutalmaze/characters.py
@@ -63,10 +63,11 @@ class Hero:
def update(self, fps):
"""Update the hero."""
+ if self.dead: return
old_speed, time = self.spin_speed, pygame.time.get_ticks()
self.spin_speed = fps / (HERO_HP-self.wound**0.5)
self.spin_queue *= self.spin_speed / old_speed
- if not self.dead and time > self.next_heal:
+ if time > self.next_heal:
self.wound -= HEAL_SPEED / self.spin_speed / HERO_HP
if self.wound < 0: self.wound = 0.0
@@ -82,10 +83,7 @@ class Hero:
self.angle = atan2(y - self.y, x - self.x)
self.spin_queue = 0.0
trigon = regpoly(3, self.R, self.angle, self.x, self.y)
- try:
- fill_aapolygon(self.surface, trigon, self.color[int(self.wound)])
- except IndexError: # When the hero is wounded over his HP
- self.wound = HERO_HP
+ fill_aapolygon(self.surface, trigon, self.color[int(self.wound)])
def die(self):
"""Handle the hero's death."""
diff --git a/brutalmaze/constants.py b/brutalmaze/constants.py
index 0ffd6a0..5f5e25a 100644
--- a/brutalmaze/constants.py
+++ b/brutalmaze/constants.py
@@ -63,6 +63,6 @@ ENEMIES = ['Butter', 'Orange', 'Chocolate', 'Chameleon',
'SkyBlue', 'Plum', 'ScarletRed']
MINW, MAXW = 24, 36
ENEMY_HP = 3
-HERO_HP = 6
+HERO_HP = 5
BG_COLOR = TANGO['Aluminium'][-1]
FG_COLOR = TANGO['Aluminium'][0]
diff --git a/brutalmaze/maze.py b/brutalmaze/maze.py
index ee02d38..db7672c 100644
--- a/brutalmaze/maze.py
+++ b/brutalmaze/maze.py
@@ -186,7 +186,7 @@ class Maze:
< self.enemy_weights[color])
time = pygame.time.get_ticks()
if (color == 'Butter' or color == 'ScarletRed') and fx:
- self.hero.wound += 1.0
+ self.hero.wound += wound * 2.5
elif color == 'Orange' and fx:
self.hero.next_heal = max(self.hero.next_heal, time) + wound*1000
elif color == 'SkyBlue' and fx:
@@ -195,6 +195,7 @@ class Maze:
self.hero.wound += wound
if self.enemy_weights[color] + wound < MAXW:
self.enemy_weights[color] += wound
+ if self.hero.wound > HERO_HP: self.lose()
def slash(self):
"""Handle close-range attacks."""
@@ -288,7 +289,6 @@ class Maze:
pygame.display.flip()
pygame.display.set_caption('Brutal Maze - Score: {}'.format(
int(self.score - INIT_SCORE)))
- if self.hero.wound + 1 > HERO_HP: self.lose()
def move(self, x, y, fps):
"""Command the hero to move faster in the given direction."""
diff --git a/setup.py b/setup.py
index 67f43eb..1eea8e4 100755
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ with open('README.rst') as f:
setup(
name='brutalmaze',
- version='0.2.0',
+ version='0.2.1',
description='A hash and slash game with fast-paced action and a minimalist art style',
long_description=long_description,
url='https://github.com/McSinyx/brutalmaze',