예제 #1
0
    def get_base_damages(self):
        if self.bludgeoning_percentage() > 0.00:
            yield Damage('bludgeoning', list(self.bludgeon_damage_scalars()))

        if self.piercing_percentage() > 0.00:
            yield Damage('piercing', list(self.piercing_damage_scalars()))

        if self.slashing_percentage() > 0.00:
            yield Damage('slashing', list(self.slashing_damage_scalars()))
예제 #2
0
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('aqueous', [
         DamageScalar(Diluvial.RawDamage,
                      'resolve',
                      scale_amount=Diluvial.ScaleAmount,
                      requirement=0)
     ])
예제 #3
0
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('electric', [
         DamageScalar(Electrifying.RawDamage,
                      'resolve',
                      scale_amount=Electrifying.ScaleAmount,
                      requirement=0)
     ])
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('cold', [
         DamageScalar(Frosty.RawDamage,
                      'resolve',
                      scale_amount=Frosty.ScaleAmount,
                      requirement=0)
     ])
예제 #5
0
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('aqueous', [
         DamageScalar(Condensating.RawDamage,
                      'resolve',
                      requirement=0,
                      scale_amount=Condensating.ScaleAmount)
     ])
예제 #6
0
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('fire', [
         DamageScalar(Smoldering.RawDamage,
                      'resolve',
                      requirement=0,
                      scale_amount=Smoldering.ScaleAmount)
     ])
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('cold', [
         DamageScalar(
             Chilled.RawDamage,
             'resolve',
             requirement=0,
             scale_amount=Chilled.ScaleAmount)
     ])
예제 #8
0
    def get_additional_damages(self, weapon, is_attack=False):
        loc = weapon.owner.coordinates
        world = weapon.owner.world
        sanctity = world.sanctity_at(loc)
        true_scale = Divine.ScaleAmount * 2 * max(-1, min(1, sanctity))

        yield Damage('divine', [
            DamageScalar(Divine.RawDamage,
                         'sense',
                         scale_amount=true_scale,
                         requirement=0)
        ])
 def get_additional_damages(self, weapon, is_attack=False):
     energy = int(weapon.owner.maximum_arcane_energy() *
                  Runed.EnergyPercentage)
     if is_attack:
         if energy > weapon.owner.arcane_energy:
             return
         weapon.owner.arcane_energy -= energy
     yield Damage('arcane', [
         DamageScalar(energy,
                      'acuity',
                      scale_amount=Runed.ScaleAmount,
                      requirement=Runed.Requirement)
     ])
예제 #10
0
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('divine', [DamageScalar(
             Holy.RawDamage,
             'sense',
             scale_amount=Holy.ScaleAmount,
             requirement=0)])
 def get_base_damages(self):
     yield Damage('force', list(self.force_damage_scalars()))
 def get_additional_damages(self, weapon, is_attack=False):
     yield Damage('demonic', [DamageScalar(
             Demonic.RawDamage,
             'sense',
             scale_amount=Demonic.ScaleAmount,
             requirement=0)])