# HG changeset patch # User David Sharpe # Date 1378485689 -7200 # Node ID 582a96e5fdacbb85fca8d613667b198be05b455a # Parent 9589e1db443330f2e9329ddaa25fdb8e52a8678e Tweaks to the claw attack. diff -r 9589e1db4433 -r 582a96e5fdac nagslang/game_object.py --- a/nagslang/game_object.py Fri Sep 06 17:32:25 2013 +0200 +++ b/nagslang/game_object.py Fri Sep 06 18:41:29 2013 +0200 @@ -460,8 +460,10 @@ class ClawAttack(GameObject): - def __init__(self, space, position, vector, damage): - body = make_body(1, pymunk.inf, position) + def __init__(self, space, pos, vector, damage): + body = make_body(1, pymunk.inf, + (pos[0] + (vector.length * math.cos(vector.angle)), + pos[1] + (vector.length * math.sin(vector.angle)))) body.angle = vector.angle self.shape = pymunk.Circle(body, 30) self.shape.sensor = True @@ -473,7 +475,6 @@ 'objects', 'werewolf_SW_claw_attack.png', transforms=(FLIP_H,))), ) - self.physicser.apply_impulse(vector) def update(self, dt): super(ClawAttack, self).update(dt) diff -r 9589e1db4433 -r 582a96e5fdac nagslang/protagonist.py --- a/nagslang/protagonist.py Fri Sep 06 17:32:25 2013 +0200 +++ b/nagslang/protagonist.py Fri Sep 06 18:41:29 2013 +0200 @@ -1,3 +1,5 @@ +import math + import pymunk import pymunk.pygame_util @@ -297,7 +299,10 @@ self.physicser.position, vec, BULLET_DAMAGE, COLLISION_TYPE_PLAYER) def claw(self): - vec = vec_from_angle(self.angle, 300) + claw_range = (math.sqrt(math.pow(self.physicser.get_velocity()[0], 2) + + math.pow(self.physicser.get_velocity()[1], 2)) + / 20) + 30 + vec = vec_from_angle(self.angle, claw_range) ClawEvent.post(self.physicser.position, vec, CLAW_DAMAGE) def in_wolf_form(self):