Files
battle_royale_sim/entities/items/weapons.py
2025-09-04 21:32:57 +02:00

33 lines
999 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.get(wtype) or _syms.WEAPONS.get(_random.choice(list(_syms.WEAPONS.keys())))
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