#-------------------------------------#
#                                     #
#                                  #
#                                     #
#-------------------------------------#

#
#     .
trig { sendl("$U::strAFK");  $: = "\003J____ (  $1)____"; }  '^       ([--\- ]+)!', "2000s:AUTOSTAND";
trig { sendl("$U::strAFK");  $: = "\003J____ ( $1)____"; }  '^([--\- ]+)  (|)  ,    .$',      "2000s:AUTOSTAND";

bindkey { 
  if ($U::infoStand eq "") {
    $U::infoStand = "   ";
    disable("AUTOSTAND");
  } else {
    $U::infoStand = "";
    enable("AUTOSTAND");
  }
} "M-0";

#
# , .
alias { sendl(" @_\r\nstand\r\n") }                    "";
alias { sendl(" @_\r\nb @_\r\nstand") }                   "";
alias { sendl(" @_\r\nstand") }                               "";

#
#     /  .
bindkey { sendl(" $U::weapon2\r\n $U::shield\r\n $U::light"); }         "M-";
bindkey { sendl(" $U::light \r\n $U::shield\r\n $U::weapon2\r\n"); } "M-";
bindkey { if ($U::prof eq "") {sendl("\r\n\r\n");} else {sendl("\r\n");} }  "M-.";

#
# ( F1)  ( F2).
bindkey { sendl("stand\r\nflee"); } "f1";
bindkey { sendl("   $U::container\r\n \r\n $U::weapon2\r\n $U::weapon1\r\n $U::light\r\n $msg_recall"); } "f2";
alias { sendl("  $U::container\r\n  @_\r\n $U::weapon2\r\n $U::weapon1\r\n $U::light") } "";


trig {$:="\003N$_"; }  '.*  .* .*   !$', "2000s:DISARM";
trig {$: = "\003F$1  !";} '^([--\- ]+) (|) - ,    .$', "1000fn:HIGHLIGHT";
trig {$: = "\003D$1 ---> !";} '^([--\- ]+) (|)      ', "1000fn:HIGHLIGHT";
trig {$: = "\003D$1 ---> !";} '^([--\- ]+)  .$', "1000fn:HIGHLIGHT";
trig {$: = "\003D$1 ---> !";} '^([--\- ]+) .$', "1000fn:HIGHLIGHT";
trig {$: = "\003D$1 ---> !";} '^([--\- ]+) .*  .$', "1000fn:HIGHLIGHT";
trig {$: = "\003D$1  $2!";} '^  ([--\- ]+)     ([--\- ]+).$',  "1000fn:HIGHLIGHT";
trig {$: = "\003D$1 $2  $3.";} '^([--\- ]+)  (||)  ([--\- ]+),  (|)  .$',  "1000fn:HIGHLIGHT";
trig {$: = "\003C !";} '^ .$',  "1000fn:HIGHLIGHT";
trig {$: = "\003B$1 !";} '^([-- ]+) .*  .$',  "1000fn:HIGHLIGHT";
trig {$: = "\003D$1  $3!";} '^([--\- ]+) (|) ([--\- ]+)    !$',  "1000fn:HIGHLIGHT";

sub DoAggr { if ($_[0]==1) {$_[1]=~s/\,/ $_[2]\r\n/g; sendl("$_[1] $_[2]");} }

#
# 
alias { sendl("  \r\n @_") }               "";   #  -    
bindkey { sendl("  "); }                          "M-";

#
# 
trig { $:="\003O !"; &DoAggr($U::agro1,$U::agr1,$U::target1); if ($U::saytrack==1) {sendl("  !");} } '^,   , ,     \.$', "700s:TRACK";
trig { $:="\003O$1  $2: $5,  $6 $8..."; if ($U::saytrack==1) {sendl("  $1  $2,  $5 $8");} } '  ([-- ]+)  ([-- ]+)\.    (|) (|||) (|| | | | | )  ([-- ]+) (|||) (|| | | | |  )\.$', "700s:TRACK";

alias { $U::saytrack=1; }       "";
alias { $U::saytrack=0; }       "!";

#
#  + 
bindkey { move("d"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k1";
bindkey { move("s"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k2";
bindkey { move("e"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k4";
bindkey { move("w"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k6";
bindkey { move("u"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k7";
bindkey { move("n"); &DoAggr(1,$U::agr1,$U::target1); }  "M-k8";

#
#  
alias { $U::target1 = "@_"; $U::agr1 = $U::profAggrAction; } "1";
alias { $U::target2 = "@_"; $U::agr2 = $U::profAggrAction; } "2";
alias { $U::target3 = "@_"; $U::agr3 = $U::profAggrAction; } "3";
alias { $U::target4 = "@_"; $U::agr4 = $U::profAggrAction; } "4";
alias { $U::target5 = "@_"; $U::agr5 = $U::profAggrAction; } "5";
alias { $U::target6 = "@_"; $U::agr6 = $U::profAggrAction; } "6";
alias { $U::target7 = "@_"; $U::agr7 = $U::profAggrAction; } "7";
alias { $U::target8 = "@_"; $U::agr8 = $U::profAggrAction; } "8";
alias { $U::target9 = "@_"; $U::agr9 = $U::profAggrAction; } "9";

alias { if ($_[0] ne "") {$U::agr1="@_";} } "1";
alias { if ($_[0] ne "") {$U::agr2="@_";} } "2";
alias { if ($_[0] ne "") {$U::agr3="@_";} } "3";
alias { if ($_[0] ne "") {$U::agr4="@_";} } "4";
alias { if ($_[0] ne "") {$U::agr5="@_";} } "5";
alias { if ($_[0] ne "") {$U::agr6="@_";} } "6";
alias { if ($_[0] ne "") {$U::agr7="@_";} } "7";
alias { if ($_[0] ne "") {$U::agr8="@_";} } "8";
alias { if ($_[0] ne "") {$U::agr9="@_";} } "9";

alias { $U::agro1 = 1; } "1";
alias { $U::agro2 = 1; } "2";
alias { $U::agro3 = 1; } "3";
alias { $U::agro4 = 1; } "4";
alias { $U::agro5 = 1; } "5";
alias { $U::agro6 = 1; } "6";
alias { $U::agro7 = 1; } "7";
alias { $U::agro8 = 1; } "8";
alias { $U::agro9 = 1; } "9";
                          
alias { $U::agro1 = 0; } "!1";
alias { $U::agro2 = 0; } "!2";
alias { $U::agro3 = 0; } "!3";
alias { $U::agro4 = 0; } "!4";
alias { $U::agro5 = 0; } "!5";
alias { $U::agro6 = 0; } "!6";
alias { $U::agro7 = 0; } "!7";
alias { $U::agro8 = 0; } "!8";
alias { $U::agro9 = 0; } "!9";

#
#    
bindkey { &DoAggr(1,$U::agr1,$U::target1); } "M-";
bindkey { &DoAggr(1,$U::agr2,$U::target2); } "M-";
bindkey { &DoAggr(1,$U::agr3,$U::target3); } "M-";
bindkey { &DoAggr(1,$U::agr4,$U::target4); } "M-";
bindkey { &DoAggr(1,$U::agr5,$U::target5); } "M-";
bindkey { &DoAggr(1,$U::agr6,$U::target6); } "M-";
bindkey { &DoAggr(1,$U::agr7,$U::target7); } "M-";
bindkey { &DoAggr(1,$U::agr8,$U::target8); } "M-";
bindkey { &DoAggr(1,$U::agr9,$U::target9); } "M-";

trig {
  if ($1 eq $U::target1) {$U::agro1=0; echo "\003O  !"; }
  if ($1 eq $U::target2) {$U::agro2=0; echo "\003O  !"; }
  if ($1 eq $U::target3) {$U::agro3=0; echo "\003O  !"; }
  if ($1 eq $U::target4) {$U::agro4=0; echo "\003O  !"; }
  if ($1 eq $U::target5) {$U::agro5=0; echo "\003O  !"; }
  if ($1 eq $U::target6) {$U::agro6=0; echo "\003O  !"; }
  if ($1 eq $U::target7) {$U::agro7=0; echo "\003O  !"; }
  if ($1 eq $U::target8) {$U::agro8=0; echo "\003O  !"; }
  if ($1 eq $U::target9) {$U::agro9=0; echo "\003O  !"; }
  if ($U::infoLoot eq "") {
    sendl("  .\r\n  $U::container\r\n  2.$U::container\r\n  $U::container");
  } elsif ($U::infoLoot eq "") {
    sendl("  ");
  } elsif ($U::infoLoot eq "") {
  } else {
    sendl(" .");
  }
  $:="\003B$_";
} '^([--\- ]+) (|)!  R.I.P.', "1000s:TARGETRIP";

trig {
  if ($U::infoLoot eq "") {
    &minus_garbage;
    sendl("  $U::container\r\n  2\.$U::container");
  }
  $:="\003B$_";
} '^   !$', "1000s:MANYITEMS";

trig {
  if ($U::infoLoot eq "") {
    &minus_garbage;
  }
} '^([--\-\, ]+):       .', "500n:LOOT_WEIGHT";


trig {$: = "\003N===$1   $3===";} '^([--\-]+) (|)   ([--\-]+),   (|)   .$',  "1000fn:HIGHLIGHT";
trig {
  if ($1 eq $U::target1) {sendl("  ");}
  if ($1 eq $U::target2) {sendl("  ");}
  if ($1 eq $U::target3) {sendl("  ");}
  if ($1 eq $U::target4) {sendl("  ");}
  if ($1 eq $U::target5) {sendl("  ");}
  if ($1 eq $U::target6) {sendl("  ");}
  if ($1 eq $U::target7) {sendl("  ");}
  if ($1 eq $U::target8) {sendl("  ");}
  if ($1 eq $U::target9) {sendl("  ");}
} '([--]+):    .   \' \'.$', "1000s:CORE";

#
# 
alias { 
  if ($U::target1) { push(@masstrip,"$U::target1"); }
  if ($U::target2) { push(@masstrip,"$U::target2"); }
  if ($U::target3) { push(@masstrip,"$U::target3"); }
  if ($U::target4) { push(@masstrip,"$U::target4"); }
  if ($U::target5) { push(@masstrip,"$U::target5"); }
  if ($U::target6) { push(@masstrip,"$U::target6"); }
  if ($U::target7) { push(@masstrip,"$U::target7"); }
  if ($U::target8) { push(@masstrip,"$U::target8"); }
  if ($U::target9) { push(@masstrip,"$U::target9"); }
  echo ": @masstrip"; 
} "";
alias { push(@masstrip,"@_"); echo ": @masstrip"; } "+";
alias { undef(@masstrip); echo "  !";} "!";

alias { echo ": @masstrip";} "?";

bindkey {
  if (defined(@masstrip)) {
    foreach $trip(@masstrip) {
      sendl(" $trip");
    }
    sendl("");
  }
} "M-";

#
# / 
alias { $U::infoTarget='';$U::autotarget=1; }   "";
alias { $U::infoTarget='    ';$U::autotarget=0; }   "!";

#
#  / 
#     
alias { $U::infoLoot=''; }       "";
alias { $U::infoLoot='    '; }      "!";
alias { $U::infoLoot=''; }      "";

#
trig { echo "==============";
       $U::infoLoot='';
       sendl(" $U::myname: >>>>----------  ! ----------<<<<");
       sendl(" >>>>----------  ! ----------<<<<");
       echo "=============="; } '^###     ###', "1000s:AUTOL";
trig { $U::infoLoot='';enable("LOOT");disable("MONEY"); } '^      .',   "550s:AUTOL";
trig { $U::infoLoot='    ';disable("LOOT");enable("MONEY"); }'^       .',"500s:AUTOL";
trig { sendl("  ") } '^   (.*)',                                       "450s:ANIMLOOT";
trig { sendl(" $1") } '^  (\d+) .*',                                                "350s:MONEY";

trig { sendl("  ") } '^     ',                     "100s:STARTUP";

alias { sendl("  .") }                         "";    # 
alias { sendl(" . .; .") }      "";    #  
alias { sendl(" $U::myname: \r\nstand\r\nflee") }    "";    # 

#
#  / 
#     
alias { sendl("  $U::container\r\n @_\r\n \r\n \r\n @_\r\n  $U::container") } "";
alias { $U::infoLoot=''; }       "";
alias { $U::infoLoot='    '; }      "!";

#
#  
trig {
  if (!($3 =~ //)) { 
    if (($3 ne "  ")&&
        ($3 ne " ")&&($3 ne "  ")&&
        ($3 ne " ")&&($3 ne "  ")&&
        ($3 ne "  ")&&($3 ne " ")&&
        ($3 ne "  ")&&($3 ne "  ")&&
        ($3 ne "  ")&&($3 ne " ")&&
        ($3 ne "  ")&&($3 ne "  ")&&
        ($3 ne " ")&&($3 ne "  ")) {
      if ($1 ne "") { $: = "[] $1 $2 _\003C $3 \003H_  $4."; }
      else { $: = "[_] _\003C $3 \003H_  $4."; }
    } else {
      $: = "$1 $2 $3  $4.";
      $found=0;
      foreach $garb(@loot_garbage) {if ($garb eq $3) {$found=1;}}
      if (!$found) {
        $temp=$3;
        $temp=~s/ /\./g;
        push(@loot_garbage,"$temp");
      }
    }
  }
} '^([--]+) (||) ([--\-\, ]+)   ([--\- ]+).$',  "1000fn:HIGHLIGHT";

sub minus_garbage {
  if (defined(@loot_garbage)) {
    for ($i=0;$i<=$#loot_garbage;$i++) {
      sendl(" $loot_garbage[$i]");
    }
    undef(@loot_garbage);
  }
}

alias { &minus_garbage; } "";


#
#    - , .
trig {
  if ($1 eq $U::tank) { $_="--  -- $_"; }
  if ($1 eq $U::leader) { $_="--  -- $_"; }
  if ($1 eq $U::target1) { $_="-- 1 -- $_"; &DoAggr($U::agro1,$U::agr1,$U::target1); }
  if ($1 eq $U::target2) { $_="-- 2 -- $_"; &DoAggr($U::agro2,$U::agr2,$U::target2); }
  if ($1 eq $U::target3) { $_="-- 3 -- $_"; &DoAggr($U::agro3,$U::agr3,$U::target3); }
  if ($1 eq $U::target4) { $_="-- 4 -- $_"; &DoAggr($U::agro4,$U::agr4,$U::target4); }
  if ($1 eq $U::target5) { $_="-- 5 -- $_"; &DoAggr($U::agro5,$U::agr5,$U::target5); }
  if ($1 eq $U::target6) { $_="-- 6 -- $_"; &DoAggr($U::agro6,$U::agr6,$U::target6); }
  if ($1 eq $U::target7) { $_="-- 7 -- $_"; &DoAggr($U::agro7,$U::agr7,$U::target7); }
  if ($1 eq $U::target8) { $_="-- 8 -- $_"; &DoAggr($U::agro8,$U::agr8,$U::target8); }
  if ($1 eq $U::target9) { $_="-- 9 -- $_"; &DoAggr($U::agro9,$U::agr9,$U::target9); }
  local($found)=0;
  foreach $who(@who_base) {
    ($w_rel,$w_clan,$w_who,$w_name,$w_prof,$w_level,$w_info,$w_end)=split(/\|/,$who);
    if (($w_name eq $1)&&(!$found)) {
      local($highl)="";
      if($w_rel eq "E") {$highl = "$enemyes_color";}
      if($w_rel eq "F") {$highl = "$friends_color";}
      if($w_rel eq "O") {$highl = "$family_color";}
      if($w_rel eq "N") {$highl = "$neitral_color";}
      if($w_rel eq "?") {$highl = "$unknown_color";}
      $_= "$highl$_\003H  [$w_clan] $w_prof $w_level ($w_who)";
    }
  }
  $: = "  >>> $_";
} '^([--\- ]+) (|||||) ( | | | ||).$', "1500fn:HIGHLIGHT";

trig {
  if ($1 eq $U::tank) { $_="--  -- $_"; }
  if ($1 eq $U::leader) { $_="--  -- $_"; }
  if ($1 eq $U::target1) { $_="-- 1 -- $_"; }
  if ($1 eq $U::target2) { $_="-- 2 -- $_"; }
  if ($1 eq $U::target3) { $_="-- 3 -- $_"; }
  if ($1 eq $U::target4) { $_="-- 4 -- $_"; }
  if ($1 eq $U::target5) { $_="-- 5 -- $_"; }
  if ($1 eq $U::target6) { $_="-- 6 -- $_"; }
  if ($1 eq $U::target7) { $_="-- 7 -- $_"; }
  if ($1 eq $U::target8) { $_="-- 8 -- $_"; }
  if ($1 eq $U::target9) { $_="-- 9 -- $_"; }
  local($found)=0;
  foreach $who(@who_base) {
    ($w_rel,$w_clan,$w_who,$w_name,$w_prof,$w_level,$w_info,$w_end)=split(/\|/,$who);
    if (($w_name eq $1)&&(!$found)) {
      local($highl)="";
      if($w_rel eq "E") {$highl = "$enemyes_color";}
      if($w_rel eq "F") {$highl = "$friends_color";}
      if($w_rel eq "O") {$highl = "$family_color";}
      if($w_rel eq "N") {$highl = "$neitral_color";}
      if($w_rel eq "?") {$highl = "$unknown_color";}
      $_= "$highl$_\003H  [$w_clan] $w_prof $w_level ($w_who)";
    }
  }
  $: = "  <<< $_";
} '^([--\- ]+) (|||||||) ( | | | ||).$',    "1000fn:HIGHLIGHT";

trig {
  if ($1 eq $U::target1) { $_="-- 1 -- $_"; }
  if ($1 eq $U::target2) { $_="-- 2 -- $_"; }
  if ($1 eq $U::target3) { $_="-- 3 -- $_"; }
  if ($1 eq $U::target4) { $_="-- 4 -- $_"; }
  if ($1 eq $U::target5) { $_="-- 5 -- $_"; }
  if ($1 eq $U::target6) { $_="-- 6 -- $_"; }
  if ($1 eq $U::target7) { $_="-- 7 -- $_"; }
  if ($1 eq $U::target8) { $_="-- 8 -- $_"; }
  if ($1 eq $U::target9) { $_="-- 9 -- $_"; }
  local($found)=0;
  foreach $who(@who_base) {
    ($w_rel,$w_clan,$w_who,$w_name,$w_prof,$w_level,$w_info,$w_end)=split(/\|/,$who);
    if (($w_name eq $1)&&(!$found)) {
      local($highl)="";
      if($w_rel eq "E") {$highl = "$enemyes_color";}
      if($w_rel eq "F") {$highl = "$friends_color";}
      if($w_rel eq "O") {$highl = "$family_color";}
      if($w_rel eq "N") {$highl = "$neitral_color";}
      if($w_rel eq "?") {$highl = "$unknown_color";}
      $_= "$highl$_\003H  [$w_clan] $w_prof $w_level ($w_who)";
    }
  }
  $: = " >+< $_";
  sendl(" $1$U::strAFK");
} '^([--]+) (|)  .$',    "1000fn:HIGHLIGHT";


#
#  ,   ,    
gag ('^  ([--]+), ,  .', "500ng:GAG");
gag ('^  ,      ([--]+).', "500ng:GAG");
gag ('^     -- 0.', "500ng:GAG");
gag ('^ -   ', "500ng:GAG");
gag ('^    :', "500ng:GAG");

