self._level.remove_enemy(enemy)
self._enemies.remove(enemy)
- def _fire_bullet(self, bullet, pos, dp):
+ def _fire_bullet(self, bullet, pos, dp, angle):
if len(self._bullets) >= 10:
return
bullet.game_pos = pos
bullet.game_dp = dp
bullet.dt = 0
bullet.level_layer = self._level_layer
+ bullet.angle = angle
self._bullets.add(bullet)
def _check_for_bullet_hits(self):
weapon.play_sound()
if weapon.bullet_range > 0:
self._fire_bullet(
- weapon.assemble_bullet(), self._player_pos, self._angle_dp)
+ weapon.assemble_bullet(), self._player_pos, self._angle_dp,
+ self._angle)
else:
# melee
pos, dp = self._player_pos, self._angle_dp
x, y = self._player_pos
old_vehicle = world.vehicles.current
-
+
item = self._level.item_at(x, y)
-
+
if item and item.item_type == "vehicle":
world.vehicles.current = item.item_data["vehicle"]
self._level.remove_item(item)
world.vehicles.current = "walking"
if old_vehicle != "walking":
- dropped_vehicle = create_new_item("vehicle", (x, y), vehicle=old_vehicle)
+ dropped_vehicle = create_new_item(
+ "vehicle", (x, y), vehicle=old_vehicle)
self._level.items.append(dropped_vehicle)
self._items.add(dropped_vehicle)