forked from Cryz/battle_royale_sim
33 lines
954 B
Python
33 lines
954 B
Python
import random as _random
|
|
from entities.items import item as _item
|
|
from entities.items import weapon_syms as _syms
|
|
|
|
class BrSimWeapon(_item.BrSimItem):
|
|
|
|
def __init__(self, wtype= None):
|
|
self.weapon= _syms.WEAPONS[wtype or _random.randint(1,2)]
|
|
self.name= self.weapon['name']
|
|
self.damage= self.weapon['damage']
|
|
self.weight= self.weapon['weight']
|
|
self.range= self.weapon['range']
|
|
self.ammons= self.weapon['ammons']
|
|
self.miss_chance= self.weapon['miss_chance']
|
|
|
|
def _ammons_check(self):
|
|
if self.ammons == -1: return True # this weapons doesn't needs ammons
|
|
return self.ammons > 0
|
|
|
|
def _try_to_hit(self):
|
|
if not self.miss_chance: return True
|
|
rnd= _random.randint(0, 100)
|
|
if rnd > self.miss_chance: return True
|
|
return False
|
|
|
|
def hit(self, hits= 1):
|
|
if not _ammons_check: return 0
|
|
if not _try_to_hit(): return 0
|
|
return self.damage
|
|
|
|
def add_ammons(self, ammons):
|
|
self.ammons+= ammons
|