changeset 618:cc94512d14f2

Merge
author David Sharpe <decoydavid@gmail.com>
date Sun, 08 Sep 2013 00:49:13 +0200
parents 2070ce83637b (current diff) 0b46e8524ec5 (diff)
children c58487b4b473
files data/levels/crew data/levels/hangar
diffstat 9 files changed, 110 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/data/levels/alientunnel1	Sun Sep 08 00:48:35 2013 +0200
+++ b/data/levels/alientunnel1	Sun Sep 08 00:49:13 2013 +0200
@@ -53,8 +53,8 @@
 game_objects:
 - args:
   - [1050, 1050]
-  - alientunnel1
-  - [1025, 1025]
+  - hangar
+  - [255, 2495]
   - 45
   classname: Door
   name: from_base
--- a/data/levels/crew	Sun Sep 08 00:48:35 2013 +0200
+++ b/data/levels/crew	Sun Sep 08 00:49:13 2013 +0200
@@ -47,42 +47,42 @@
   name: charging_9
 - args:
   - [834, 1842]
-  - [500, 500]
+  - [982, 1680]
   classname: PatrollingAlien
   name: patrol_1
 - args:
   - [740, 2122]
-  - [500, 500]
+  - [726, 2289]
   classname: PatrollingAlien
   name: patrol_1
 - args:
   - [936, 1668]
-  - [900, 900]
+  - [1102, 1504]
   classname: PatrollingAlien
   name: patrol_2
 - args:
   - [624, 1716]
-  - [900, 900]
+  - [470, 1560]
   classname: PatrollingAlien
   name: patrol_3
 - args:
   - [1024, 1788]
-  - [900, 900]
+  - [1249, 1736]
   classname: PatrollingAlien
   name: patrol_4
 - args:
   - [748, 1640]
-  - [900, 900]
+  - [668, 1419]
   classname: PatrollingAlien
   name: patrol_5
 - args:
   - [572, 2016]
-  - [900, 900]
+  - [365, 20035]
   classname: PatrollingAlien
   name: patrol_6
 - args:
   - [552, 1864]
-  - [900, 900]
+  - [272, 1806]
   classname: PatrollingAlien
   name: patrol_7
 - args:
@@ -92,12 +92,12 @@
   name: patrol_8
 - args:
   - [932, 2072]
-  - [900, 900]
+  - [1050, 2180]
   classname: PatrollingAlien
   name: patrol_9
 - args:
   - [740, 1938]
-  - [900, 900]
+  - [586, 2090]
   classname: PatrollingAlien
   name: patrol_10
 - args:
--- a/data/levels/hangar	Sun Sep 08 00:48:35 2013 +0200
+++ b/data/levels/hangar	Sun Sep 08 00:49:13 2013 +0200
@@ -204,6 +204,46 @@
   - Cargo Bay. Authorized personnel only.
   classname: Note
   name: cargo_note
+- args:
+  - [260, 1781]
+  - hangar
+  - [260, 1665]
+  - 90
+  classname: Door
+  name: from_keys
+- args:
+  - [260, 1701]
+  - hangar
+  - [260, 1810]
+  - 90
+  - keycard_red
+  classname: KeyedDoor
+  name: to_keys
+- args:
+  - [225, 1960]
+  - [285, 1960]
+  - keycard_blue
+  classname: KeyedHatch
+  name: blue_hatch
+- args:
+  - [225, 2160]
+  - [285, 2160]
+  - keycard_green
+  classname: KeyedHatch
+  name: green_hatch
+- args:
+  - [225, 2340]
+  - [285, 2340]
+  - keycard_black
+  classname: KeyedHatch
+  name: black_hatch
+- args:
+  - [255, 2520]
+  - alientunnel1
+  - [1025, 1025]
+  - 90
+  classname: Door
+  name: to_alientunnel1
 lines:
 - - [120, 1321]
   - [280, 1321]
@@ -211,7 +251,20 @@
   - [280, 1261]
 - - [280, 1161]
   - [280, 1101]
+- - [120, 1960]
+  - [225, 1960]
+- - [285, 1960]
+  - [380, 1960]
+- - [120, 2160]
+  - [225, 2160]
+- - [285, 2160]
+  - [380, 2160]
+- - [120, 2340]
+  - [225, 2340]
+- - [285, 2340]
+  - [380, 2340]
 music: POL-cyber-factory-short.ogg
+music_volume: 0.3
 polygons:
   1:
   - [2400, 280]
@@ -277,4 +330,10 @@
   - [2480, 1321]
   - [2400, 1321]
   - [2400, 280]
+  2:
+  - [120, 1781]
+  - [120, 2521]
+  - [380, 2521]
+  - [380, 1781]
+  - [120, 1781]
 size: [3001, 2601]
--- a/data/sounds/SOURCES.txt	Sun Sep 08 00:48:35 2013 +0200
+++ b/data/sounds/SOURCES.txt	Sun Sep 08 00:49:13 2013 +0200
@@ -21,3 +21,29 @@
     http://creativecommons.org/licenses/by/3.0
 Notes:
     Ogg generated using 'oggenc robotstep2.wav'
+
+
+mouth_pop_2a.ogg
+----------------
+
+URL:
+    http://archive.org/download/Berklee44v5/Berklee44v5.zip
+Source:
+    http://archive.org/details/Berklee44v5
+License:
+    http://creativecommons.org/licenses/by/3.0
+Notes:
+    Ogg generated using 'oggenc -q -1 mouth_pop_2a.wav'
+
+
+vocoder2_short.ogg
+------------------
+
+URL:
+    http://archive.org/download/Berklee44v5/Berklee44v5.zip
+Source:
+    http://archive.org/details/Berklee44v5
+License:
+    http://creativecommons.org/licenses/by/3.0
+Notes:
+    Ogg generated using 'oggenc -q -1 vocoder2_short.ogg'
Binary file data/sounds/mouth_pop_2a.ogg has changed
Binary file data/sounds/vocoder2_short.ogg has changed
--- a/nagslang/enemies.py	Sun Sep 08 00:48:35 2013 +0200
+++ b/nagslang/enemies.py	Sun Sep 08 00:49:13 2013 +0200
@@ -121,7 +121,8 @@
                 vec.length = speed
                 result.add += (Bullet(
                     self.get_space(), self.physicser.position, vec, damage,
-                    type_, COLLISION_TYPE_ENEMY),)
+                    type_, COLLISION_TYPE_ENEMY,
+                    "mouth_pop_2a.ogg"),)
 
     def greedy_move(self, target):
         """Simple greedy path finder"""
--- a/nagslang/game_object.py	Sun Sep 08 00:48:35 2013 +0200
+++ b/nagslang/game_object.py	Sun Sep 08 00:49:13 2013 +0200
@@ -107,6 +107,8 @@
         self._shape = shape
         self._extra_shapes = extra_shapes
         shape.physicser = self
+        for es in extra_shapes:
+            es.physicser = self
 
     def get_shape(self):
         return self._shape
@@ -561,9 +563,12 @@
             body, body.world_to_local(tuple(end1)),
             body.world_to_local(tuple(end2)), 7)
         self.shape.collision_type = COLLISION_TYPE_DOOR
+        other_shape = pymunk.Circle(body, 30)
+        other_shape.collision_type = COLLISION_TYPE_DOOR
+        other_shape.sensor = True
         self._key_item = key_item
         super(KeyedHatch, self).__init__(
-            SingleShapePhysicser(space, self.shape),
+            MultiShapePhysicser(space, self.shape, other_shape),
             render.KeyedHatchRenderer(
                 resources.get_image(
                     'objects', '%s.png' % (key_item,),
@@ -632,7 +637,7 @@
 
 class Bullet(GameObject):
     def __init__(self, space, position, impulse, damage, bullet_type,
-                 source_collision_type):
+                 source_collision_type, bullet_sound=None):
         body = make_body(1, pymunk.inf, position)
         body.angle = impulse.angle
         self.last_position = position
@@ -648,6 +653,8 @@
                 'objects', '%s.png' % self.type)),
         )
         self.physicser.apply_impulse(impulse)
+        if bullet_sound is not None:
+            sound.play_sound(bullet_sound, 0.3)
 
     def update(self, dt):
         super(Bullet, self).update(dt)
--- a/nagslang/protagonist.py	Sun Sep 08 00:48:35 2013 +0200
+++ b/nagslang/protagonist.py	Sun Sep 08 00:49:13 2013 +0200
@@ -311,7 +311,8 @@
         vec = vec_from_angle(self.angle, BULLET_SPEED)
         return Result(add=(Bullet(self.get_space(), self.physicser.position,
                                   vec, BULLET_DAMAGE, 'bullet',
-                                  COLLISION_TYPE_PLAYER),))
+                                  COLLISION_TYPE_PLAYER,
+                                  "vocoder2_short.ogg"),))
 
     def claw(self):
         claw_range = (math.sqrt(math.pow(self.physicser.get_velocity()[0], 2) +