Source code for VegansDeluxe.rebuild.Weapons.BaseballBat

import random

from VegansDeluxe.core import AttachedAction, RegisterWeapon
from VegansDeluxe.core import MeleeAttack
from VegansDeluxe.core.Translator.LocalizedString import ls
from VegansDeluxe.core.Weapons.Weapon import MeleeWeapon
from VegansDeluxe.rebuild import Stun


[docs]@RegisterWeapon class BaseballBat(MeleeWeapon): id = 'baseball_bat' name = ls("rebuild.weapon.baseball_bat.name") description = ls("rebuild.weapon.baseball_bat.description") accuracy_bonus = 2 cubes = 3
[docs]@AttachedAction(BaseballBat) class BaseballBatAttack(MeleeAttack):
[docs] async def func(self, source, target): damage = (await super().attack(source, target)).dealt if not damage: return damage if random.randint(0, 100) > 30: return stun = target.get_state(Stun) self.session.say(ls("rebuild.weapon.baseball_bat.effect").format(target.name)) stun.stun += 2 return damage