コード例 #1
0
ファイル: items.py プロジェクト: Jus-ti-car/Veganwars
 def activate(self, action):
     energy = self.unit.energy if self.unit.energy < 7 else 6
     modifier = self.unit.range_accuracy - action.target.evasion + energy + 5
     damage = engine.damage_roll(1, modifier)
     if damage:
         action.target.receive_damage(1)
         statuses.Bleeding(action.target)
         if 'alive' in action.target.types:
             self.string('use',
                         format_dict={
                             'actor': self.unit.name,
                             'target': action.target.name
                         })
         else:
             self.string('special',
                         format_dict={
                             'actor': self.unit.name,
                             'target': action.target.name
                         })
     else:
         self.string('fail',
                     format_dict={
                         'actor': self.unit.name,
                         'target': action.target.name
                     })
     self.unit.wasted_energy += 2
コード例 #2
0
ファイル: weapons.py プロジェクト: Jus-ti-car/Veganwars
 def get_damage(self, target, flying=False):
     accuracy = self.unit.melee_accuracy if self.melee else self.unit.range_accuracy
     energy = self.unit.energy if not flying else 5
     modifier = accuracy + self.accuracy - target.evasion + energy
     damage = engine.damage_roll(self.dice_num, modifier)
     if damage:
         damage += self.damage
     return damage
コード例 #3
0
ファイル: weapons.py プロジェクト: Jus-ti-car/Veganwars
 def get_damage(self, target):
     accuracy = self.unit.melee_accuracy if self.melee else self.unit.range_accuracy
     energy = self.unit.energy if self.unit.energy < 6 else 5
     modifier = accuracy + self.accuracy - target.evasion + energy
     damage = engine.damage_roll(self.dice_num, modifier)
     if damage:
         damage += self.damage
     if damage > self.damage_cap:
         return self.damage_cap
     return damage
コード例 #4
0
ファイル: items.py プロジェクト: egor5q/Veganwars
 def activate(self, action):
     energy = self.unit.energy if self.unit.energy < 7 else 6
     modifier = self.unit.range_accuracy - action.target.evasion + energy + 5
     self.dmg_done = engine.damage_roll(3, modifier)
     self.dmg_done += self.unit.damage
     self.target = action.target
     self.target.receive_hit(self)
     self.target.receive_damage(self.dmg_done)
     if self.dmg_done:
         if 'alive' in action.target.types:
             statuses.Bleeding(action.target)
             self.string('use',
                         format_dict={
                             'actor': self.unit.name,
                             'target': self.target.name,
                             'damage': self.dmg_done
                         })
         else:
             self.string('special',
                         format_dict={
                             'actor': self.unit.name,
                             'target': self.target.name,
                             'damage': self.dmg_done
                         })
     elif self.dmg_blocked:
         self.string('armor',
                     format_dict={
                         'actor': self.unit.name,
                         'target': self.target.name,
                         'armor_name': self.armored.name_lang_tuple()
                     })
     else:
         self.string('fail',
                     format_dict={
                         'actor': self.unit.name,
                         'target': self.target.name
                     })
     self.unit.waste_energy(2)