- 追加された行はこの色です。
- 削除された行はこの色です。
- 罪罰/捕虜 へ行く。
[[罪罰改造]]
*捕虜システム [#p20f7fba]
**概要 [#w251d46f]
-戦争で敗北すると相手国の捕虜となる可能性がある
-同一国への戦争を行うと顔を覚えられ敗北したときに捕まりやすくなります
-捕虜となると通常のコマンドが使えなくなる
-自国のプレイヤーに救出してもらうことが可能
*保持する変数を追加 ./inc/ore_sub-system.cgi [#w99c42d6]
**国データ読み込み sub cdata_open [#hb4befcc]
sub cdata_open{
...(ここは省略)...
#------------------------------ここから追加
$horyo[1] = $CP{'horyo1'};
$horyo[2] = $CP{'horyo2'};
$horyo[3] = $CP{'horyo3'};
$horyo[4] = $CP{'horyo4'};
$horyo[5] = $CP{'horyo5'};
#------------------------------ここまで追加
} # ←cdat_openの閉じ括弧を目印にその上に5行追加
**国データ書き込み sub cdat_write [#g746e8b0]
-書き込みデータ$cdatに以下の変数を追加する
$cdat .= "horyo1;$horyo[1],horyo2;$horyo[2],horyo3;$horyo[3],horyo4;$horyo[4],horyo5;$horyo[5],";
-罪罰/国変数の追加を参照
**最終戦争国をチェックする必要があります [#j5c34a1e]
-罪罰同一国への戦争を参考に$war_crと$war_cntを追加してください
-罪罰/変数の追加を参照
*./ore_.cgi [#b212bb0b]
**各種処理を追加 [#hf9ab91a]
$sogo == 131 のところは、捕虜称号に合わせること
#------------------------------ここから追加
# 捕虜チェック
require './inc/ore_sub-prsn.cgi'; &prsn_chk;
#------------------------------ここまで追加
# 拘束時間
if($pr>$spend_time){ require './inc/ore_sub-main.cgi'; &wt_st; }
#------------------------------ここから追加
# 捕虜メニュー
elsif($sogo == 131){ # 捕虜称号に合わせる
if($cmd==1){ require './inc/ore_sub-prsn.cgi'; &prsn_escape; }
elsif($cmd==2){ require './inc/ore_sub-prsn.cgi'; &prsn_betray; }
elsif($cmd==3){ require './inc/ore_sub-prsn.cgi'; &prsn_betray; }
else{ require './inc/ore_sub-prsn.cgi'; &prsn_menu; }
}
#------------------------------ここまで追加
# 初期メニュー
elsif(!$type && $cmd==1 && $act_cnt<$act_cnt_limit) { require "./inc/ore_sub-training_$mv_mode\.cgi"; &training; }
elsif(!$type && $cmd==2){ require './inc/ore_sub-politics.cgi'; &politics; }
*捕虜用メニューを設定 ./inc/ore_sub-main.cgi [#e8374351]
**sub main_st のメインコマンドの上捕虜メニューを追加 [#h392f978]
-下のような形になるように修正を加えます。
#------------------------------ここから追加
if($sogo==131){ # 捕虜称号131に合わせる
# 捕虜用メニュー
require './inc/ore_sub-prsn.cgi'; &prsn_menu;
}else{
#------------------------------ここまで追加
# メインコマンド
my @c = ('現状維持','修業','内政','戦争','能力','仕官','情報','討伐','軍事');
...(ここは省略)...
#------------------------------ここから追加
}
#------------------------------ここまで追加
&write_data;
*戦争の処理 ./inc/ore_sub-wartime.cgi [#i6888b5e]
** sub wr_st [#c212aeaf]
各メッセージを目印にその下にそれぞれ1行、救出と捕虜の処理を追加します
$wr_mes ="$date $cmp[$camp] の $syogo が $cmp[$nation] に侵攻、$tnm と一騎討ちの末これを下し $N の国力を奪う事に成功したようです";
#-----------------------------------------------------ここから追加
require './inc/ore_sub-prsn.cgi'; &prsn_resq; # 救出
#-----------------------------------------------------ここまで追加
$wr_mes ="$date $cmp[$camp] の $syogo が $cmp[$nation] に侵攻、$tnm と一騎討ちを演じるが敗北し部隊は敗走したようです";
#-----------------------------------------------------ここから追加
require './inc/ore_sub-prsn.cgi'; &prsn_exe; # 捕虜
#-----------------------------------------------------ここまで追加
$wr_mes ="$date $cmp[$camp] の $syogo が $cmp[$nation] に侵攻、$tnm 防衛部隊を撃破。 $N の国力を奪う事に成功したようです";
#-----------------------------------------------------ここから追加
require './inc/ore_sub-prsn.cgi'; &prsn_resq; # 救出
#-----------------------------------------------------ここまで追加
$log .="部隊全滅という不名誉な敗北に、貴方に対する評価が著しく低下した<br>\n";
#-----------------------------------------------------ここから追加
require './inc/ore_sub-prsn.cgi'; &prsn_exe; # 捕虜
#-----------------------------------------------------ここまで追加
*設定 ./inc/ore_sub-prsn.cgi [#qa6f4e29]
以下の設定値を設定
-$horyo_sogo:捕虜になったときに設定される称号の番号
-$uragi_sogo:裏切り者の称号
-$war_cnt:同一国への戦争回数
# 各種設定
$horyo_sogo = 131; # 捕虜の称号
$uragi_sogo = 132; # 裏切者の称号
$horyo_esc = 20; # 脱出確率
$horyo_per = 15; # 捕虜確率
$horyo_per += ($war_cnt * 5); # 同一国へ戦争を繰り返すごとに+5%
$horyo_per += 10 if($hp<1); # 一騎討ちに敗北したときは+10%
*変更履歴 [#f2d884d5]
-VER 1.1 裏切り実行時に捕虜カウントが減らないバグ修正
--報告いただいたメノウさんに感謝!(罪罰改造板2/27)