title: How to get correct appeal to self.value from draw inheritance?
body: <p>I stuck, namely i have a class in two other <code>files.py</code> from named. I would that self.health has been taken from <code>monster = Monster.monster()</code>. Currently the value is taken from main <code>class Monster</code> not inherited for example <code>mob = Bear()</code>. The problem is in <code>player_skills.py</code> where this file take a values from <code>monster = Monster()</code> in this file.
  I would like, when I use FireBall skill substract a health from mob for example <code>mob = Rat()</code></p>
  <blockquote>
  <p>well_monster.py</p>
  </blockquote>
  <pre><code>class Monster:
      def __init__(self, health=2500, mana=0, defence=0, attack_min=0, attack_max=0, magic=0, experience=0, coins=0):
          self.health = health
          self.mana = 0
          self.defence = 0
          self.attack_max = 0
          self.attack_min = 0
          self.magic = 0
          self.experience = 0
          self.coins = 0
  
  def draw_monster(self):
      from player_skills import testing_skill
      a = testing_skill
  
      monster = Monster.monster()
      if monster == &quot;Rat&quot;:
          mob = Rat()
          mob.fight()
          
      if monster == &quot;Wolf&quot;:
          mob = Wolf()
          mob.fight()
  
      if monster == &quot;Bear&quot;:
          mob = Bear()
          mob.fight()
  
      if monster == &quot;Tiger&quot;:
          mob = Tiger()
          mob.fight()
  </code></pre>
  <blockquote>
  <p>player_skills.py</p>
  </blockquote>
  <pre><code>from well_monster import Monster
  monster = Monster()
  
  
  class PlayerSkill():
      def __init__(self, mana=0, min_attack=0, max_attack=0, health=0):
          self.mana = mana
          self.health = health
          self.min_attack = min_attack
          self.max_attack = max_attack
  
  class FireBallSkill(PlayerSkill):
  
  def __init__(self, mana=0, min_attack=0, max_attack=0, health=0):
      super().__init__(mana, min_attack, max_attack, health)
      self.mana = 50
      self.health = health
      self.min_attack = random.randint(
          player.min_attack, player.min_attack*2)
      self.max_attack = random.randint(
          player.min_attack, player.min_attack*3)
  
  @skill_name
  def fire_Ball(self):
      attack = [self.min_attack, self.max_attack]
      if player.mana &gt;= self.mana:
          hit = random.choice(attack)
          monster.health -= hit
          player.mana -= self.mana
          clearConsole()
          print(100*'-')
          print(
              f&quot;The {self.__class__.__name__} took the monster  {hit} health points. LEFT: {monster.health} Health Points. MANA:{player.mana} &quot;)
          print(100*'-')
      else:
          print(
              f&quot;You cannot use this skill becouse your mana is to low. [{player.mana}/{self.mana}]&quot;)
  </code></pre>