class APRageList extends Info;

var string MSG_Rage[6];

function Rage(PlayerController pc, UltraAdmin Admin, string strVictim)
{
  local KFMonster M;
  local string msg;
  local bool bAll, bPAT, bFP, bSC, bGore, bSiren;

  switch(strVictim)
  {
    case "all":
      bAll = true;
      msg = MSG_Rage[0];
      break;
    case "f":
    case "fp":
    case "fleshpound":
      bFP = true;
      msg = MSG_Rage[1];
      break;
    case "s":
    case "sc":
    case "scrake":
      bSC = true;
      msg = MSG_Rage[2];
      break;
    case "p":
    case "b":
    case "pat":
    case "boss":
    case "patriarch":
      bPAT = true;
      msg = MSG_Rage[3];
      break;
    case "g":
    case "gore":
    case "gorefast":
      bGore = true;
      msg = MSG_Rage[4];
      break;
    case "siren":
      bSiren = true;
      msg = MSG_Rage[5];
      break;
    default:
      class'Helper'.static.TellAbout(pc,Admin,"MsgRage");
      return;
  }

  foreach DynamicActors(class'KFMonster', M)
  {
    if(M == none)
      continue;
    if(ClassIsChildOf(M.class, class'KFMod.ZombieScrakeBase') && (bAll || bSC))
      M.gotoState('RunningState');
    if(ClassIsChildOf(M.class, class'KFMod.ZombieFleshPoundBase') && (bAll || bFP))
      M.gotoState('RageCharging');
    if(ClassIsChildOf(M.class, class'KFMod.ZombieBossBase') && (bAll || bPAT))
      M.gotoState('Charging');
    if(ClassIsChildOf(M.class, class'KFMod.ZombieGoreFastBase') && (bAll || bGore))
      M.gotoState('RunningState');
    if(ClassIsChildOf(M.class, class'KFMod.ZombieSirenBase') && (bAll || bSiren))
      M.SetAnimAction('Siren_Scream');;
  }
  Admin.SendMessage(pc,msg);
}

defaultproperties
{
  MSG_Rage[0]="%wYou raged all %rniggas %win the hood."
  MSG_Rage[1]="%wYou raged all %rFleshpounds%w."
  MSG_Rage[2]="%wYou raged all %rScrakes%w."
  MSG_Rage[3]="%wYou raged all %rPatriarchs%w."
  MSG_Rage[4]="%wYou raged all %rGorefasts%w."
  MSG_Rage[5]="%wYou raged all %rSirens%w."
}