$log .= "$cmp[$camp] へと所属を変え、$cl[$rank] の階級が与えられた<br>\n"; # $iseki_p # 移籍するたびに+5 # $sikan_y # 所属年 if($sikan_y<1){ $sikan_y=$goal_no; } # 最初 $sikan_y が0だと移籍Pが−1x年で始まる対策 $iseki_p -= ($goal_no-$sikan_y); $iseki_p = 0 if($iseki_p<0); # 下限を0に限定 if($iseki_p * 5>rand(100)+1){ $sogo=132; # 132は裏切者の称号番号 $log .= qq|$sogo_p[$sogo]の称号を得た!|; } $iseki_p += 5; # 移籍Pはチェック後に+5(最初の確率が25%なのを修正) # 仕官した期を記録 $sikan_y = $goal_no; # sub hash_data $iseki_p = $DAT{'iseki_p'}; $sikan_y = $DAT{'sikan_y'}; # sub dat_write # $dat[0]に追加 iseki_p;$iseki_p,sikan_y;$sikan_y, }elsif($cmd>=0 && (($c1 >= $c1a && $cmd == 1) ||($c2 >= $c2a && $cmd == 2)||($c3 >= $c3a && $cmd == 3) ||($c4 >= $c4a && $cmd == 4)||($c5 >= $c5a && $cmd == 5))){ for($i=1,$j=1;$i<=$#cmp;$i++,$j++){ if($cmd==$j){ $log .= "$cmp[$i] は定員一杯で入国できません<br>\n"; } } $tm = $cmd = 0; $type=''; &call_main_st; }elsif($goal_no - $sikan_y <= 0){ # 仕官した期と現在の差 # }elsif($goal_no-$sikan_y<=1){ # 仕官して次の期まで仕官できない $log.="仕官したばかりの方は、すぐには仕官できません。<br>"; $tm = $cmd = 0; $type=''; &call_main_st; }elsif($cmd>=0 && (($c1 >= $c1a && $cmd == 1) ||($c2 >= $c2a && $cmd == 2)||($c3 >= $c3a && $cmd == 3) ||($c4 >= $c4a && $cmd == 4)||($c5 >= $c5a && $cmd == 5))){ for($i=1,$j=1;$i<=$#cmp;$i++,$j++){ if($cmd==$j){ $log .= "$cmp[$i] は定員一杯で入国できません<br>\n"; } } $tm = $cmd = 0; $type=''; &call_main_st; }elsif($sogo==132){ $log.="裏切者の称号を持つ方は仕官できません。<br>"; $tm = $cmd = 0; $type=''; &call_main_st; |