Initial commit of original files

This commit is contained in:
sanjeok77
2026-06-22 21:09:26 +09:00
commit dc9058e0da
74 changed files with 12466 additions and 0 deletions
+299
View File
@@ -0,0 +1,299 @@
#-----------------------------------------------------------#
# 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://pom.to/ ] #
#-----------------------------------------------------------#
# 内政 Version 1.0
#--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------#
#-------------------------------------------------------------------------------
# 内政メニュー
sub politics{
if(!$type){
if($camp<1){
$log .= "放浪の身では内政は行えない<br>\n";
$tm = $cmd = 0;
&call_main_st;
}else{
$log .= "内政を行います。実行するものを選んで下さい<br>\n";
$tm=0;
$type='内政';
&politics_menu;
&dat_write;
}
}
}
sub politics_menu{
# 内政コマンド
my @hm = ('やめる','農業','商業','徴兵','兵を訓練する');
$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 .. $#hm){ $log2 .= "<option value=$_>$hm[$_]</option>\n";}
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
#-------------------------------------------------------------------------------
# 内政処理
sub politics_exe{
if(!$tm){
if($cmd<=0){
$log .= "あとで行うことにした。<br>\n";
$tm = $cmd = 0;
$type='';
&call_main_st;
# 農業
}elsif($cmd==1){
# 行動カウントのリセット(無条件)
$act_cnt=0;
$log .= "農業を行います。結果は$GMW時間後。<br>\n";
$v=int(((rand(10)+1)*100)*$lr);
$v=9999 if($v>9999);
$tm=25;
$rank_exe++;
$pr=$GMT;
if($camp==1){
$cf1 += $v;
}elsif($camp==2){
$cf2 += $v;
}elsif($camp==3){
$cf3 += $v;
}elsif($camp==4){
$cf4 += $v;
}elsif($camp==5){
$cf5 += $v;
}
$mes = "$v の兵糧を得た";
$tm=50;
# 商業
}elsif($cmd==2){
# 行動カウントのリセット(無条件)
$act_cnt=0;
$log .= "商業を行います。結果は$GMW時間後。<br>\n";
$v=int(((rand(10)+1)*15)*$lr);#最初は$v=int(((rand(10)+1)*10)*$lr);
$v=999 if($v>999);
$tm=25;
$rank_exe++;
$pr=$GMT;
if($camp==1){
$cg1 += $v;
}elsif($camp==2){
$cg2 += $v;
}elsif($camp==3){
$cg3 += $v;
}elsif($camp==4){
$cg4 += $v;
}elsif($camp==5){
$cg5 += $v;
}
$mes = "$v G 国家予\算が増えた";
$tm=50;
# 徴兵-1
}elsif($cmd==3){
$log .= "徴兵を実行しますか?兵 1 人につき 1 G必要です<br>\n";
$tm=15;
$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|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">千人</option>\n|;
$log2 .=qq|<option value="2">五千人</option>\n|;
$log2 .=qq|<option value="3">一万人</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
# 兵を訓練する
}elsif($cmd==4){
if($my_cs<1){
$log .= "兵がいません<br>\n";
$tm = $cmd = 0;
&politics_menu;
}elsif($sol_lv>99){
$log .= "訓練度はこれ以上あがりません<br>\n";
$tm = $cmd = 0;
&politics_menu;
}else{
# 行動カウントのリセット(限界時のみ)
$act_cnt=0 if($act_cnt>$act_cnt_limit);
$log .= "兵の訓練を行ないます<br>\n";
$pr=int($GMT/2);
$x = int($lr/2);
if($x<1){
$x=1;
}
$v = int((rand(20))+$x);
$sol_lv += $v;
if($sol_lv>100){
$sol_lv=100;
}
$mes = "訓練度が $v 上昇した";
$tm=50;
}
}
# 徴兵-2
}elsif($tm==15){
$z=$g_p[$rank]-$sol;
if($cmd<=0){
$log .= "あとで行うことにした。<br>\n";
$tm = $cmd = 0;
&politics_menu;
}elsif($cmd==1){
# 行動カウントのリセット(無条件)
$act_cnt=0;
$log .= "最大千人規模の徴兵を実行します。結果は$GMW時間後に<br>\n";
$S = int(((rand(50))+100)*$lr);
$S = 1000 if($S>1000);
$rank_exe++;
if($S<$gold){
$gold-=$S;
}elsif($gold<$S){
$S=$gold;
$gold=0;
}
if($camp==1){
$cs1+=$S;
}elsif($camp==2){
$cs2+=$S;
}elsif($camp==3){
$cs3+=$S;
}elsif($camp==4){
$cs4+=$S;
}elsif($camp==5){
$cs5+=$S;
}
$mes = "$S 人の兵が集まった";
$pr=$GMT;
$tm=50;
}elsif($cmd==2){
# 行動カウントのリセット(無条件)
$act_cnt=0;
$log .= "最大五千人規模の徴兵を実行します。結果は$GMW時間後に<br>\n";
$S = int(((rand(50))+100)*$lr);
$S = 5000 if($S>5000);
$rank_exe+=int(rand(2)+1);
if($S<$gold){
$gold-=$S;
}elsif($gold<$S){
$S=$gold;
$gold=0;
}
if($camp==1){
$cs1+=$S;
}elsif($camp==2){
$cs2+=$S;
}elsif($camp==3){
$cs3+=$S;
}elsif($camp==4){
$cs4+=$S;
}elsif($camp==5){
$cs5+=$S;
}
$mes = "$S 人の兵が集まった";
$pr=$GMT;
$tm=50;
}elsif($cmd==3){
# 行動カウントのリセット(無条件)
$act_cnt=0;
$log .= "最大一万人規模の徴兵を実行します。結果は$GMW時間後に<br>\n";
$S = int(((rand(50))+100)*$lr);
$S = 10000 if($S>10000);
$rank_exe+=int(rand(3)+1);
if($S<$gold){
$gold-=$S;
}elsif($gold<$S){
$S=$gold;
$gold=0;
}
if($camp==1){
$cs1+=$S;
}elsif($camp==2){
$cs2+=$S;
}elsif($camp==3){
$cs3+=$S;
}elsif($camp==4){
$cs4+=$S;
}elsif($camp==5){
$cs5+=$S;
}
$mes = "$S 人の兵が集まった";
$pr=$GMT;
$tm=50;
}
}
# 内政の終了(功労金授与)
elsif($tm==50){
if($rank > 7 && $sogo!=3 && $sogo!=4){#烙印は無効化
$gold += $v = $rank * 200;
$log .= "今までの功績が認められ国より $v Gの功労金をもらった。<br>\n";
}
$tm = $cmd = 0;
$type="";
&call_main_st;
}
# 内政の終了(功労金なし)
elsif($tm==55){
$tm = $cmd = 0;
$type="";
&call_main_st;
}
&write_data;
}
1;