!Parts1

本家版をはじめ、現状では「勝数・負け数」などのデータからRateを計算する方法が取られています。
しかしこの方法では、「弱い敵とだけ戦う」人と、「強い人と戦う」人だと、前者の方がRateが高くなるわけですが、そうして出されたRateは実際の強さとは関係無くなります。さらに、「弱い物虐め」を助長することにもなります。

当改造では、Rateの差を元に、より高いRateの人に打ち勝てば大きくRateが上がり、より低いRateの人に負けると大きくRateが下がるという、
実際の強さを極力反映する手法を採用しました。

実際の採用時は、Rate計算部をそれぞれ扱いやすいよう微調整、又は改造の上でのご利用をお奨めします。
(別にそのままでも問題は無いと思いますが)
!Parts2
sos2.cgi # Sub Make New # Line:520
$line = join('<>',$id,$Fm{'name'},$Fm{'pass'},$jbn,$jig,$jsp,'','',$jak,$jdd,$jhp,$jhp,0,0,'alive',0,0,0,$jmn,'',$jxi,time,'','','???','',$host,'',0,0,"\n");




sos2.cgi # Sub Get User # Line:2146-2148

($id,$nm,$ps,$jb,$ig,$sp,$bp,$bn,$ak,$dd,$hp,$xp,$ab,$db,
$av,$wn,$lz,$dt,$mn,$bg,$xi,$tm,$lf,$fe,$cm,$is,$ht,$fg,$rw,$kl) = split(/<>/,$_[0]);



sos2.cgi # Sub Get Partner # Line:2163
($pid,$pnm,$pps,$pjb,$pig,$psp,$pbp,$pbn,$pak,$pdd,$php,$pxp,$pab,$pdb,
$pav,$pwn,$plz,$pdt,$pmn,$pbg,$pxi,$ptm,$plf,$pfe,$pcm,$pis,$pht,$pfg,$prw,$pkl) = split(/<>/,$_[0]);




sos2.cgi # Sub User Out # Line:2173

$line = join('<>',$id,$nm,$ps,$jb,$ig,$sp,$bp,$bn,$ak,$dd,$hp,$xp,$ab,$db,
$av,$wn,$lz,$dt,$mn,$bg,$xi,$tm,$lf,$fe,$cm,$is,$ht,$fg,$rw,$kl,"\n");





sos2.cgi # Sub Partner Out # Line:2181

$pline = join('<>',$pid,$pnm,$pps,$pjb,$pig,$psp,$pbp,$pbn,$pak,$pdd,$php,$pxp,$pab,$pdb,
$pav,$pwn,$plz,$pdt,$pmn,$pbg,$pxi,$ptm,$plf,$pfe,$pcm,$pis,$pht,$pfg,$prw,$pkl,"\n");

!Parts3
sos2.cgi # Sub Rate # Line:1866
# Sub Rate # の全文
!Parts4
sos2.cgi # Sub Fight # Line:1610-1611
if ($wn) { $rt = &rate($wn,$lz,$kl,$dt) } else { $rt = 0 }
if ($pwn) { $prt = &rate($pwn,$plz,$pkl,$pdt) } else { $prt = 0 }





sos2.cgi # Sub List In Order # Line:1931-1933

($id,$nm,$ps,$jb,$ig,$sp,$bp,$bn,$ak,$dd,$hp,$xp,$ab,$db,
$av,$wn,$lz,$dt,$mn,$bg,$xi,$tm,$lf,$fe,$cm,$is,$ht,$fg,$rw,$kl) = split(/<>/,$lstlines[$_]);
if ($wn) { $rt = &rate($wn,$lz,$kl,$dt) } else { $rt = 0 }


!Parts5
全てのユーザーデータにフラグ追加します。 1000<> を追加して下さい。 !Parts6
ufs2.cgi # Sub Made From # Line607
$line = join('<>',$id,$Fm{'name'},$Fm{'ps1'},$jbn,$jig,$jsp,'','',$jak,$jdd,$jhp,$jhp,0,0,'alive',0,0,0,$jmn,'',$jxi,time,'','','???','','','SS',0,0,"\n");



ufs2.cgi # Sub Made Free # Line649
$line = join('<>',$id,$Fm{'name'},$Fm{'ps1'},$Fm{'job'},$Fm{'ig'},$Fm{'sp'},'','',$Fm{'ak'},$Fm{'dd'},$Fm{'xp'},$Fm{'xp'},0,0,'alive',0,0,0,$Fm{'mn'},'',$Fm{'xi'},time,'','',$Fm{'cm'},$Fm{'is'},'','NS',0,0,"\n");



ufs2.cgi # Sub Get User # Line951-952
($id,$nm,$ps,$jb,$ig,$sp,$bp,$bn,$ak,$dd,$hp,$xp,$ab,$db,
$av,$wn,$lz,$dt,$mn,$bg,$xi,$tm,$lf,$fe,$cm,$is,$ht,$fg,$rw,$kl) = split(/<>/,$_[0]);




ufs2.cgi # Sub User Out # Line961-962
$line = join('<>',$id,$nm,$ps,$jb,$ig,$sp,$bp,$bn,$ak,$dd,$hp,$xp,$ab,$db,
$av,$wn,$lz,$dt,$mn,$bg,$xi,$tm,$lf,$fe,$cm,$is,$ht,$fg,$rw,$kl,"\n");

!Parts6
本家版と同様にフラグの追加・rateルーチンの修正を行ってください。