Source code for VegansDeluxe.rebuild.Weapons.Flamethrower

from VegansDeluxe.core import AttachedAction, RegisterWeapon
from VegansDeluxe.core import RangedAttack
from VegansDeluxe.core.Translator.LocalizedString import ls
from VegansDeluxe.core.Weapons.Weapon import RangedWeapon
from VegansDeluxe.rebuild import Aflame


[docs]@RegisterWeapon class Flamethrower(RangedWeapon): id = 'flamethrower' name = ls("rebuild.weapon.flamethrower.name") description = ls("rebuild.weapon.flamethrower.description") energy_cost = 3 cubes = 2 accuracy_bonus = 2
[docs]@AttachedAction(Flamethrower) class FlamethrowerAttack(RangedAttack):
[docs] def calculate_damage(self, source, target): damage = super().calculate_damage(source, target) if damage: return 1
[docs] async def func(self, source, target): damage = await super().attack(source, target) if damage.calculated: aflame = target.get_state(Aflame) aflame.add_flame(self.session, target, source, 1) return damage.dealt