changeset 433:fe99a4e04b2b

Make recharge time depend on the number of tails.
author Simon Cross <hodgestar@gmail.com>
date Sat, 09 Apr 2011 19:00:43 +0200
parents e65f6783a9f7
children 827c5d045cf5
files skaapsteker/constants.py skaapsteker/sprites/player.py
diffstat 2 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/skaapsteker/constants.py	Sat Apr 09 18:51:11 2011 +0200
+++ b/skaapsteker/constants.py	Sat Apr 09 19:00:43 2011 +0200
@@ -17,7 +17,6 @@
 # This is for both key down time and for gap between taps
 DOUBLE_TAP_TIME = 0.15
 
-RECHARGE_TIME = 1
 
 # Layer defination
 class Layers(object):
--- a/skaapsteker/sprites/player.py	Sat Apr 09 18:51:11 2011 +0200
+++ b/skaapsteker/sprites/player.py	Sat Apr 09 19:00:43 2011 +0200
@@ -6,7 +6,7 @@
 from ..sprites.base import find_sprite, Monster, TILE_SIZE, PC_LAYER, MONSTER_LAYER, PROJECTILE_LAYER
 from ..sprites.projectiles import Fireball, Lightning
 from ..physics import Sprite
-from ..constants import Layers, FoxHud, DOUBLE_TAP_TIME, RECHARGE_TIME
+from ..constants import Layers, FoxHud, DOUBLE_TAP_TIME
 from ..data import get_files, load_image
 from ..engine import PlayerDied, AddSpriteEvent, OpenNotification
 
@@ -30,7 +30,7 @@
         self._soundsystem.load_sound('yelp', 'sounds/yelp.ogg')
         self._animation_frame = 0.0
         self._last_time = time.time()
-        self._last_attacked = {
+        self._recharge_timers = {
                 'fireball': time.time(),
                 'lightning': time.time(),
                 'shield': time.time(),
@@ -385,11 +385,12 @@
     def check_fire_rate(self, attack):
         if self.recharge_level(attack) < 1:
             return False
-        self._last_attacked[attack] = time.time()
+        self._recharge_timers[attack] = time.time()
         return True
 
     def recharge_level(self, attack):
-        return min((time.time() - self._last_attacked[attack]) / RECHARGE_TIME, 1)
+        recharge_time = 2.0 / len(self._me.tails)
+        return min((time.time() - self._recharge_timers[attack]) / recharge_time, 1)
 
     def discharge_level(self, tail):
         if tail == 'invisibility' and hasattr(self, '_invisibility_start_time'):