罪と罰++二律背反


[[罪罰改造]]

*軍事コマンド:待ち伏せ [#i6bf7a1e]
**./inc/ore_sub-mission.cgi [#u92fce56]
-方面を指定して待ち伏せを行う。
-待ち伏せ行動中のキャラが戦争の迎撃にあたった場合、
侵攻している軍は急襲され、混乱のため訓練度が低下する
-当罪罰なら訓練度が反映されやすくなっているのでこれでいいけれど
そうでない場合、もっと違う効果がいいのかも知れない

*** sub mission [#pdb94bf3]
 # メニューに追加
 my @gu           = ('やめる','諜報','強奪','洗脳','待伏');

 # 待ち伏せ時間メニュー
 sub misson_menu3{
        $log .= qq|待ち伏せを行う時間を決定してください<br>\n|;
 
        my @gu           = ('やめる','30分','1時間','1.5時間');
        $log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
        $log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
        $log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
 
        $log2 .=qq|<select name="cmd" size="1">\n|;
        foreach(0 .. $#gu){ $log2 .=qq|<option value="$_">$gu[$_]</option>\n|;}
        $log2 .=qq|</select><br>\n|;
        $log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
 }        

*** sub mission_exe [#d43863ee]
 }elsif($cmd==4){
   $log .= qq|敵国の侵攻を待ち伏せます<br>方面を選んで下さい<br>\n|;
   &call_mapdata if($mv_mode eq 'pc');
   &misson_menu2;
   $tm = 40;
 }
  
 }elsif($tm==36){#洗脳内容2
    &gun_tm36;
 }elsif($tm==40){#待ち伏せ1
    &gun_tm40;
 }elsif($tm==41){
    &gun_tm41;
 }elsif($tm==42){
    &gun_tm42;
 }

 #------------------------------------------------------------------------------
 #待ち伏せ
 sub gun_tm40{
 
  if($cmd<=0){
        $log .= qq|中止します<br>\n|;
        $tm = $cmd = 0;
        &mission_menu;
  }elsif($cmd>0){
    $v = $cmd;
    if($v==$camp){
        $log .= qq|自国を選択することは出来ません<br>\n|;
        $tm = $cmd =0;
        &mission_menu;
    }elsif($v>=1 && $v<=5){
        $log .= qq|$cmp[$cmd]方面に向かいました<br>\n|;
        $tm=41;
        $nation = $cmd;
        &misson_menu3;
    }else{
        $log .= qq|中止しました<br>\n|;
        $tm = $cmd =0;
        &mission_menu;
    }
  }else{
        $log .= qq|中止しました<br>\n|;
        $tm = $cmd =0;
        &mission_menu;
  }
 
 }

 #------------------------------------------------------------------------------
 # 待ち伏せ行動開始
 
 sub gun_tm41{
 
 if($cmd<1){
        $log .= qq|中止しました<br>\n|;
        $tm=$cmd=0;
        $mission_menu;
 
 }elsif($cmd<=3){
 
        $pr = $GMT*$cmd;
        $log .= qq|30分間、$cmp[$nation]方面の待ち伏せ任務につきます。<br>\n|
 if($cmd==1);
        $log .= qq|1時間、$cmp[$nation]方面の待ち伏せ任務につきます。<br>\n| if($cmd==2);
        $log .= qq|1.5時間の間、$cmp[$nation]方面の待ち伏せ任務につきます。<br>\n| if($cmd==3);
        $type = '待伏';
        $tm=42;
 }else{
        $log .= qq|中止しました<br>\n|;
        $tm=$cmd=0;
        $mission_menu;
 }
 
 
 }

 #------------------------------------------------------------------------------
 sub gun_tm42{
 
        $log .= qq|待ち伏せ任務を完了しました<br>\n|;
 
        $rank_exe+=int(rand(2)+1);
        $sol_lv+=int(rand(10)+5);
        $sol_lv=100 if($sol_lv>100);
        $amb_cnt++;
        if($amb_cnt==50){
 
        }
 
        $type='';
        $tm=$cmd=0;
        &call_main_st;
 }

*戦争時の効果を追加 [#q0a787a8]
***./inc/ore_sub-wartime.cgi [#z3ab296d]
 
                                $tnm    = $DAT{'nm'};           #名前 敵
                                $tlv    = $DAT{'lv'};           #レベル 敵
                                $thp    = $DAT{'max_hp'};       #HP
                                $thp_max= $DAT{'max_hp'};       #HP
                                $tmp    = $DAT{'max_mp'};       #MP
                                $tua    = $DAT{'ua'};           #UA
                                $tud    = $DAT{'ud'};           #UD
                                $tag    = $DAT{'ag'};           #AG
                                $tcp    = $DAT{'camp'};         #所属
                                $tdf_a  = $DAT{'df_a'};         #防具 敵
                                $tdg_a  = $DAT{'dg_a'};         #武具 敵
                                $tlr    = $DAT{'lr'};           #LR
                                $tsol   = $g_p[$DAT{'rank'}];#階級
                                $tsol_lv= $DAT{'sol_lv'};       #
 
                                $ttype  = $DAT{'type'};      # 待伏追加
                                $tpr    = $DAT{'pr'};        # 
                                $tla    = $DAT{'la'};        # 
                                $tcamp  = $DAT{'camp'};      # 
                                $tnation= $DAT{'nation'};    # 
 
                                $ck=1;
                        }
                        $sach++;
                }
                # NPC読み込み
                if(!$tnm){
                        require './inc/ore_sub-npc_1.cgi';
                        local $v=int(rand(5));
                        &ck_ne_1;
                }else{
 
 # 待ち伏せ
 if($tnation==$camp && $tcamp==$nation && $ttype eq '待伏' && $tla+$tpr<$time){
   $log .= qq|$tnmは、待ち伏せしていました!$nm の部隊は混乱している!!<br><br>|;
   $wr_mes = qq|$nm は、$tnmの待伏せに遭遇しました<br>|;
   &hist_write;
   $sol_lv = int($sol_lv/5*int(rand(2)+2));
 }
 
                }



*待ち伏せ中の行動処理振り分け [#n69b7981]
**./ore_.cgi [#c5ddb4fd]
 elsif($type eq '軍事' || $type eq '待伏')       { require './inc/ore_sub-mission.cgi';  &mission_exe; }


*更新 [#of67ddcd]
-待ち伏せでの迎撃を履歴に書き込み
-04.08.04 指摘していただいたryukku☆さんに感謝
--gun_tm41のmission_menu記述ミス(misson_menu→mission_menu)
--設置手順に変数読み込みが抜けていたので追加
-04.08.05 &hist_write部分を修正
-04.08.22 tm41のバグ修正

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS