●★の扱いは、>>31をみるに、★は数量的緩和(普通なら一発アウトのところを
全体の25%以上または65個以上ならアウト)、●の方は単純にホストの代わりに
SIDで判定、★+●なら両方の効果が合わさる、かと。

$SIP = grep(/$TIP/, @ZIP);# ヒット件数 (●ならSID、それ以外はホストで判定)
$JIP = (@ZIP)? @ZIP: 1;# ログ件数
if($FLAG > 7){
# ★の場合?
if($JIP < 8){
# ログが8件未満: 規制なし
}elsif(($SIP / $JIP) > 0.25 || $SIP > 64){
# ログ全体の25%以上or65件以上ヒットしたら
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
}elsif($SIP){
# 一般: 1件でもヒットしたら
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}elsif($HIP){
# 範囲を広げて再判定(デッドコードのような気が……)
$SIP = grep(/$HIP$/, @ZIP);
if($SIP > ($JIP / 16) + 1 || $SIP > 32){
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
}