# HG changeset patch # User Simon Cross # Date 1302368443 -7200 # Node ID fe99a4e04b2b9473a60b4623f2e5ab5702e09b45 # Parent e65f6783a9f77ca05f44266087b7b932326651c3 Make recharge time depend on the number of tails. diff -r e65f6783a9f7 -r fe99a4e04b2b skaapsteker/constants.py --- 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): diff -r e65f6783a9f7 -r fe99a4e04b2b skaapsteker/sprites/player.py --- 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'):