anchor.diff:    fTaskName := utn_AttackHouse;
     fHouse := aHouse.GetHousePointer;
     fDestroyingHouse := False;
  -  LocID  := 0;
   end;
   
   
  
positive.code: 
  implementation
  uses
    KM_HandsCollection, KM_ResSound, KM_Sound, KM_Resource, KM_Projectiles, KM_Game,
    KM_ResUnits;
  
  
  const
    MeleeSoundsHouse: array [0..12] of TSoundFX = (
      sfx_Melee37,
      sfx_Melee38,
      sfx_Melee39,
      sfx_Melee40,
      sfx_Melee41,
      sfx_Melee42,
      sfx_Melee43,
      sfx_Melee47,
      sfx_Melee51,
      sfx_Melee52,
      sfx_Melee53,
      sfx_Melee54,
      sfx_Melee57);
  
  
  { TTaskAttackHouse }
  
negative.code: unit KM_UnitTaskAttackHouse;
  {$I KaM_Remake.inc}
  interface
  uses
    Classes, SysUtils, Math,
    KM_CommonClasses, KM_Defaults, KM_Utils, KM_Houses, KM_Units, KM_Units_Warrior, KM_Points;
  
  
  type
    // Attack a house
    TTaskAttackHouse = class(TUnitTask)
    private
      fHouse: TKMHouse;
      fDestroyingHouse: Boolean; //House destruction in progress
    public
      constructor Create(aWarrior: TKMUnitWarrior; aHouse: TKMHouse);
      constructor Load(LoadStream: TKMemoryStream); override;
  