class repl_Monster extends KFMonster;


// =============================================================================
//                               STOP THE FLAMES !!!
// =============================================================================
// block the whole code, becuase i dont give a fuck about flame effects
// KFMod.KFMonster
simulated function StartBurnFX()
{
  local class<emitter> Effect;

  // ADDITION!!!
  if (bDeleteMe || class'Settings'.default.bHideZedFlames)
    return;

  // No real flames when low gore, make them smoke, smoking kills
  if (class'GameInfo'.static.UseLowGore())
    Effect = AltBurnEffect;
  else
    Effect = BurnEffect;

  if (FlamingFXs == none)
    FlamingFXs = spawn(Effect);

  FlamingFXs.SetBase(self);
  FlamingFXs.Emitters[0].SkeletalMeshActor = self;
  FlamingFXs.Emitters[0].UseSkeletalLocationAs = PTSU_SpawnOffset;
  AttachEmitterEffect(Effect, HeadBone, Location, Rotation);
  bBurnApplied = true;
}


// =============================================================================
//                          BURNING ANIMATION FIX !!!
// =============================================================================
// maybe we can set normal animations for us and get normal headshots? maybe!
// KFMod.KFMonster
simulated function SetBurningBehavior()
{
  // cant use this part but let's keep it
  if (Role == Role_Authority)
  {
    Intelligence = BRAINS_Retarded;

    SetGroundSpeed(OriginalGroundSpeed * 0.8);
    AirSpeed *= 0.8;
    WaterSpeed *= 0.8;

    // Make them less accurate while they are burning
    if (Controller != none)
    {
      MonsterController(Controller).Accuracy = -5;
    }
  }

  // ADDITION!!!
  if (class'Settings'.default.bRemoveShitAnimations)
  {
    // restore regular anims, just to be sure
    // not using for loop, coz it's crashing me somehow...
    MovementAnims[0] = default.MovementAnims[0];
    WalkAnims[0] = default.WalkAnims[0];
    MovementAnims[1] = default.MovementAnims[1];
    WalkAnims[1] = default.WalkAnims[1];
    MovementAnims[2] = default.MovementAnims[2];
    WalkAnims[2] = default.WalkAnims[2];
    MovementAnims[3] = default.MovementAnims[3];
    WalkAnims[3] = default.WalkAnims[3];
  }
  // vanilla bullshit
  else
  {
    MovementAnims[0] = BurningWalkFAnims[Rand(3)];
    WalkAnims[0]     = BurningWalkFAnims[Rand(3)];
    MovementAnims[1] = BurningWalkAnims[0];
    WalkAnims[1]     = BurningWalkAnims[0];
    MovementAnims[2] = BurningWalkAnims[1];
    WalkAnims[2]     = BurningWalkAnims[1];
    MovementAnims[3] = BurningWalkAnims[2];
    WalkAnims[3]     = BurningWalkAnims[2];
  }
}


// Set the zed to the zapped behavior
// KFMod.KFMonster
simulated function SetZappedBehavior()
{
  if (Role == Role_Authority)
  {
    Intelligence = BRAINS_Retarded; // burning dumbasses!

    SetGroundSpeed(OriginalGroundSpeed * ZappedSpeedMod);
    AirSpeed *= ZappedSpeedMod;
    WaterSpeed *= ZappedSpeedMod;

    // Make them less accurate while they are burning
    if (Controller != none)
    {
      MonsterController(Controller).Accuracy = -5;  // More chance of missing. (he's burning now, after all) :-D
    }
  }

  // ADDITION!!!
  if (class'Settings'.default.bRemoveShitAnimations)
  {
    // ADDITION!!!
    // restore regular anims, just to be sure
    // not using for loop, coz it's crashing me somehow...
    MovementAnims[0] = default.MovementAnims[0];
    WalkAnims[0] = default.WalkAnims[0];
    MovementAnims[1] = default.MovementAnims[1];
    WalkAnims[1] = default.WalkAnims[1];
    MovementAnims[2] = default.MovementAnims[2];
    WalkAnims[2] = default.WalkAnims[2];
    MovementAnims[3] = default.MovementAnims[3];
    WalkAnims[3] = default.WalkAnims[3];
  }
  // vanilla bullshit
  else
  {
    MovementAnims[0] = BurningWalkFAnims[Rand(3)];
    MovementAnims[1] = BurningWalkAnims[0];
    WalkAnims[1]     = BurningWalkAnims[0];
    MovementAnims[2] = BurningWalkAnims[1];
    WalkAnims[2]     = BurningWalkAnims[1];
    MovementAnims[3] = BurningWalkAnims[2];
    WalkAnims[3]     = BurningWalkAnims[2];
  }
}

defaultproperties
{
}
