changeset 120:5621f5074c8d

Added knives, increased rifle prices.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 02 Sep 2009 20:34:21 +0000
parents eeb42296b523
children 7b2660cc7861
files gamelib/equipment.py
diffstat 1 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/equipment.py	Wed Sep 02 20:31:50 2009 +0000
+++ b/gamelib/equipment.py	Wed Sep 02 20:34:21 2009 +0000
@@ -32,23 +32,32 @@
         if hasattr(self, 'HIT_SOUND'):
             sound.play_sound(self.HIT_SOUND)
         roll = random.randint(1, 100)
-        return roll > self.BASE_HIT + self.RANGE_MODIFIER*wielder.pos.dist(target.pos)
+        return roll > (100-self.BASE_HIT) + self.RANGE_MODIFIER*wielder.pos.dist(target.pos)
 
     def place(self, animal):
         for eq in animal.equipment:
-            if self.NAME == eq.NAME:
+            if is_weapon(eq):
                 return False
         return True
 
 class Rifle(Weapon):
     NAME = "rifle"
+    BUY_PRICE = 100
+    SELL_PRICE = 75
+
+    RANGE = 3
+    BASE_HIT = 55
+    RANGE_MODIFIER = 15
+    HIT_SOUND = "fire-rifle.ogg"
+
+class Knife(Weapon):
+    NAME = "knife"
     BUY_PRICE = 20
     SELL_PRICE = 15
 
-    RANGE = 3
-    BASE_HIT = 50
-    RANGE_MODIFIER = 15
-    HIT_SOUND = "fire-rifle.ogg"
+    RANGE = 1
+    BASE_HIT = 70
+    RANGE_MODIFIER = 0
 
 def is_equipment(obj):
     """Return true if obj is a build class."""