treasurehunting2/code/items.py

305 lines
8.9 KiB
Python
Executable File

#! /usr/bin/env python
# coding=utf-8
# from random import randint
# Main Classes
class Item(object):
""" major item class """
def __init__(self, name, price, image):
self.name = name # string: item name
self.price = price # integer: price in BTC
self.image = image # string containing path to image
class Gun(Item):
""" gun subclass """
def __init__(self, name, price, image, damage, grange, ap):
super(Gun, self).__init__(name, price, image)
self.damage = damage # Integer
self.grange = grange # Integer
self.ap = ap # Integer, AP needed to fire the gun
self.type = "gun"
class Sword(Item):
""" sword subclass """
def __init__(self, name, price, image, ap, critical, stun, damage,
silverdamage):
super(Sword, self).__init__(name, price, image)
self.damage = damage # integer: damage dealt
self.ap = ap # integer: ap needed to attack
self.critical = critical # float: chance to do critical damage
self.stun = stun # float: change to stun enemy
self.silverdamage = silverdamage # boolean: does extra damage to SUPs
self.type = "sword"
"""
# Swords
# name
# price
# path to image (empty string until artwork is done)
# AP
# Critical ( Damage*2 )
# Stun
# Damage
# Silverdamage ( Damage*2 )
class Nosword(Sword):
def __init__(self):
super(Nosword, self).__init__("Fist", 0, "", 50, 0.0, 0.3, 0, False)
class Baton(Sword):
def __init__(self):
super(Baton, self).__init__("Baton", 20, "", 75, 0.0, 0.3, 20, False)
class Knife(Sword):
def __init__(self):
super(Knife, self).__init__("Knife", 20, "", 60, 0.2, 0.0, 30, False)
class Shortsword(Sword):
def __init__(self):
super(Shortsword, self).__init__("Short sword", 40, "", 90, 0.3, 0.0,
50, False)
class Longsword(Sword):
def __init__(self):
super(Longsword, self).__init__("Long sword", 70, "", 120, 0.4, 0.1,
70, False)
class NunChaku(Sword):
def __init__(self):
super(NunChaku, self).__init__("Nun-Chakus", 70, "", 80, 0.1, 0.7, 50,
False)
class Mace(Sword):
def __init__(self):
super(Mace, self).__init__("Mace", 70, "", 100, 0.1, 0.5, 70, False)
class Claymore(Sword):
def __init__(self):
super(Claymore, self).__init__("Claymore", 120, "", 150, 0.3, 0.2,
120, False)
class Katana(Sword):
def __init__(self):
super(Katana, self).__init__("Katana", 100, "", 110, 0.6, 0.1, 75,
False)
class Silversword(Sword):
def __init__(self):
super(Silversword, self).__init__("Silver sword", 90, "", 120, 0.3,
0.2, 50, True)
class Silverdagger(Sword):
def __init__(self):
super(Silverdagger, self).__init__("Silver dagger", 40, "", 60, 0.2,
0.0, 30, True)
class Whip(Sword):
def __init__(self):
super(Whip, self).__init__("Silver whip", 60, "", 150, 0.7, 0.8, 30,
True)
class Claws(Sword):
def __init__(self):
super(Claws, self).__init__("Claws", 50, "", 50, 0.3, 0.6, 30, False)
class Silverclaws(Sword):
def __init__(self):
super(Silverclaws, self).__init__("Silver Claws", 150, "", 50, 0.4,
0.7, 30, True)
# Guns
# Name
# Cost
# Path to image (empty until artworks are done)
# Damage
# g(un)Range
# AP needed to fire gun
# max. 2 Upgrades
class Nogun(Gun):
def __init__(self):
super(Nogun, self).__init__("No gun", 0, "", 0, 0, 0)
class Glock(Gun):
def __init__(self):
super(Glock, self).__init__("Glock", 30, "", 10, 8, 100)
class Uzi(Gun):
def __init__(self):
super(Uzi, self).__init__("uzi", 50, "", 10, 6, 50)
class Ak74(Gun):
def __init__(self):
super(Ak74, self).__init__("Kalaschnikow", 80, "", 30, 10, 100)
class P90(Gun):
def __init__(self):
super(P90, self).__init__("p90 SMG", 60, "", 15, 8, 75)
class Sawnoffshotgun(Gun):
def __init__(self):
super(Sawnoffshotgun, self).__init__("Sawn-off shotgun", 30, "", 50,
4, 150)
class Shotgun(Gun):
def __init__(self):
super(Shotgun, self).__init__("Shotgun", 80, "", 70, 6, 150)
class Awp(Gun):
def __init__(self):
super(Awp, self).__init__("Sniper rifle", 140, "", 90, 15, 175)
class M4(Gun):
def __init__(self):
super(M4, self).__init__("M4 carbine", 110, "", 25, 12, 75)
class Lmg(Gun):
def __init__(self):
super(Lmg, self).__init__("Light machine gun", 130, "", 10, 4, 25)
class AllItems:
# buyableC(lasses) (!= buyableO(bjects)) This dictionary is needed in buy().
def __init__(self):
self.buyableswordsC = {
"Baton": Baton, "Knife": Knife, "Short sword": Shortsword, "Long sword":
Longsword, "Nun-Chakus": NunChaku, "Mace": Mace, "Claymore": Claymore,
"Katana": Katana, "Silver dagger": Silverdagger, "Silver sword":
Silversword, "Silver claws": Silverclaws, "Silver whip": Whip
}
self.buyablegunsC = {
"Glock": Glock, "uzi": Uzi, "Kalaschnikow": Ak74, "p90 SMG": P90,
"Sawn-off shotgun": Sawnoffshotgun, "Shotgun": Shotgun, "Sniper rifle":
Awp, "M4 carbine": M4, "Light machine gun": Lmg
}
"""
"""
nosword = Sword("Fist", 0, "", 50, 0.0, 0.3, 0, False)
baton = Sword("Baton", 20, "", 75, 0.0, 0.3, 20, False)
knife = Sword("Knife", 20, "", 60, 0.2, 0.0, 30, False)
shortsword = Sword("Short sword", 40, "", 90, 0.3, 0.0, 50, False)
longsword = Sword("Long sword", 70, "", 120, 0.4, 0.1, 70, False)
nunchaku = Sword("Nun-Chakus", 70, "", 80, 0.1, 0.7, 50, False)
mace = Sword("Mace", 70, "", 100, 0.1, 0.5, 70, False)
claymore = Sword("Claymore", 120, "", 150, 0.3, 0.2, 120, False)
katana = Sword("Katana", 100, "", 110, 0.6, 0.1, 75, False)
silversword = Sword("Silver sword", 90, "", 120, 0.3, 0.2, 50, True)
silverdagger = Sword("Silver dagger", 40, "", 60, 0.2, 0.0, 30, True)
whip = Sword("Silver whip", 60, "", 150, 0.7, 0.8, 30, True)
krallen = Sword("Claws", 50, "", 50, 0.3, 0.6, 30, False)
silverkrallen = Sword("Silver Claws", 150, "", 50, 0.4, 0.7, 30, True)
nogun = Gun("No gun", 0, "", 0, 0, 0)
glock = Gun("Glock", 30, "", 10, 8, 100)
uzi = Gun("Uzi", 50, "", 10, 6, 50)
ak74 = Gun("Kalaschnikow", 80, "", 30, 10, 100)
p90 = Gun("p90 SMG", 60, "", 15, 8, 75)
sawnoffshotgun = Gun("Sawn-off shotgun", 30, "", 50, 4, 150)
shotgun = Gun("Shotgun", 80, "", 70, 6, 150)
awp = Gun("Sniper rifle", 140, "", 90, 15, 175)
m4 = Gun("M4 Carbine", 110, "", 25, 12, 75)
lmg = Gun("Light machine gun", 130, "", 10, 4, 25)
# UPGRADES
Verlaengerter Lauf
R += 2
C: 60
Halbmantelgeschosse
D += 5
C: 60
Verbesserte Mechanik
F += 1
C: 60
Keramikwaffe # erhoeht Bewegunsgeschwindigkeit
movement += 1
C: 60
Silberkugeln
if target.race != "human":
D += 10
C: 80
"""
"""
# List format:
"""
# Swords
nosword = ["Fist", 0, "", 50, 0.0, 0.3, 0, False]
baton = ["Baton", 20, "swords/baton.gif", 75, 0.0, 0.3, 20, False]
knife = ["Knife", 20, "swords/knife.gif", 60, 0.2, 0.0, 30, False]
shortsword = ["Short sword", 40, "swords/shortsword.gif", 90, 0.3, 0.0, 50, False]
longsword = ["Long sword", 70, "swords/longsword.gif", 120, 0.4, 0.1, 70, False]
nunchaku = ["Nun-Chakus", 70, "swords/nunchaku.gif", 80, 0.1, 0.7, 50, False]
mace = ["Mace", 70, "swords/mace.gif", 100, 0.1, 0.5, 70, False]
claymore = ["Claymore", 120, "swords/claymore.gif", 150, 0.3, 0.2, 120, False]
katana = ["Katana", 100, "swords/katana.gif", 110, 0.6, 0.1, 75, False]
silversword = ["Silver sword", 90, "swords/silversword.gif", 120, 0.3, 0.2, 50, True]
silverdagger = ["Silver dagger", 40, "swords/silverdagger.gif", 60, 0.2, 0.0, 30, True]
whip = ["Silver whip", 60, "swords/whip.gif", 150, 0.7, 0.8, 30, True]
krallen = ["Claws", 50, "swords/claws.gif", 50, 0.3, 0.6, 30, False]
silverkrallen = ["Silberkrallen", 30, "swords/silverclaws.gif", 50, 0.4, 0.7, 150, True]
# Guns
nogun = ["No gun", 0, "", 0, 0, 0]
glock = ["Glock", 30, "guns/glock.gif", 10, 8, 100]
uzi = ["Uzi", 50, "guns/uzi.gif", 10, 6, 50]
ak74 = ["Kalaschnikow", 80, "guns/kalaschnikow.gif", 30, 10, 100]
p90 = ["p90 SMG", 60, "guns/p90.gif", 15, 8, 75]
sawnoffshotgun = ["Sawn-off shotgun", 30, "guns/sawnoff.gif", 50, 4, 150]
shotgun = ["Shotgun", 80, "guns/shotgun.gif", 70, 6, 150]
awp = ["Sniper rifle", 140, "guns/sniper.gif", 90, 15, 175]
m4 = ["M4 Carbine", 110, "guns/m4carbine.gif", 25, 12, 75]
lmg = ["Light machine gun", 130, "guns/lmg.gif", 10, 4, 25]
allswords = [baton, knife, shortsword, longsword, nunchaku, mace, claymore, katana, silverdagger, silversword,
silverkrallen, whip]
guns = [glock, uzi, ak74, p90, sawnoffshotgun, shotgun, awp, m4, lmg]