「リミット解除」(2008/06/02 (月) 22:12:08) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ゲームバランスを考慮して色々と上限をつけています。
上限を変えたり、なくしたりするときに参考にしてください。以下、主な上限場所
赤文字部分を消すと上限解除になります。
**戦争で奪える国力(上限600)
***./lib/_war_result.cgi
# 奪国力上限
if ($v !~ /^(\d)\1+$/) { # ゾロ目(ウロボロス使用時など)
if ($m{value} < 1) { # 少数精鋭
$v = $v > 200 ? int(rand(50)+150) : int($v);
}
else { # 通常・長期
if ($time + 2 * 24 * 3600 > $w{limit_time}) { # 統一期限残り1日
$v = $v > 2000 ? int(rand(200)+1800) : int($v);
}
else {
$v = &color(#F00){$v > 600 ? int(rand(100)+500) : }int($v);
}
**戦争進軍時間(20分以下、120分以上の進軍)
***./lib/war_form.cgi
sub _unit_march {
my $need_GWT = shift;
# 増やしてみて120分より多い場合は増やさない)
if ($m{unit} eq '1' && $pets[$m{pet}][2] ne 'speed_up' &color(#F00){&& $need_GWT * 1.5 < 120}) {
$need_GWT = $need_GWT * 1.5;
}
# 進軍時間短縮ペット 天馬 飛竜の時。減らしてみて20分より少ない場合は減らさない)
elsif ( ($m{unit} eq '7' || $m{unit} eq '8' || $pets[$m{pet}][2] eq 'speed_up') &color(#F00){&& $need_GWT * 0.5 > 20}) {
$need_GWT = $need_GWT * 0.5;
}
if ($pets[$m{pet}][2] eq 'speed_down') {
$need_GWT *= $m{unit} eq '7' || $m{unit} eq '8' ? 4 : 2;
$m{value} *= 3;
}
return int($need_GWT);
}
**内政(上限1~3万以上)
***./lib/domestic.cgi
#=================================================
# 農業結果
#=================================================
sub tp_110 {
my $v = ($m{nou_c} + $m{mat}) * $m{turn} * 10 * &tax;
&color(#F00){$v = $v > 10000 * $m{turn} ? (rand(1000) + 9000) * $m{turn} : $v;}
if ($cs{state}[$m{country}] eq '1') {
$v *= 1.5; # 豊作
}
elsif ($cs{state}[$m{country}] eq '3') {
$v *= 0.5; # 暴風
}
$v = &use_pet('nou', $v);
$v = int($v);
$cs{food}[$m{country}] += $v;
$mes .= "穀物を $v 採取しました<br>";
&c_up('nou_c') for (1..$m{turn});
return if $m{tp} eq '410';
&after1;
}
#=================================================
# 商業結果
#=================================================
sub tp_210 {
my $v = ($m{sho_c} + $m{cha}) * $m{turn} * 10 * &tax;
&color(#F00){$v = $v > 10000 * $m{turn} ? (rand(1000) + 9000) * $m{turn} : $v;}
if ($cs{state}[$m{country}] eq '2') {
$v *= 1.5; # 景気
}
elsif ($cs{state}[$m{country}] eq '4') {
$v *= 0.5; # 不況
}
$v = &use_pet('sho', $v);
$v = int($v);
$cs{money}[$m{country}] += $v;
$mes .= "お金を $v 徴税しました<br>";
&c_up('sho_c') for (1..$m{turn});
return if $m{tp} eq '410';
&after1;
}
#=================================================
# 徴兵結果
#=================================================
sub tp_310 {
my $v = ($m{hei_c} + $m{cha}) * $m{turn} * 10 * &tax;
&color(#F00){$v = $v > 10000 * $m{turn} ? (rand(1000) + 9000) * $m{turn} : $v;}
if ($cs{state}[$m{country}] eq '5') {
$v *= 0.5; # 飢饉
}
$v = &use_pet('hei', $v);
$v = int($v);
$v = $m{money} if $v > $m{money};
$v = 0 if 0 > $m{money};
$m{money} -= $v;
$cs{soldier}[$m{country}] += $v;
$mes .= "兵士を $v 人雇用しました<br>";
&c_up('hei_c') for (1..$m{turn});
return if $m{tp} eq '410';
# 徴兵はお金がかかるので、経験値と評価をちょっとプラス
$m{turn} += 2;
&after1;
}
**軍事(上限2500)
***./lib/military.cgi
sub tp_130 { # 強奪成功
my $v = int( ($m{gou_c} + $m{at}) * $m{turn} * rand(4) );
&color(#F00){$v = int(rand(500)+2000) if $v > 2500;}
$v *= 2 if $w{world} eq '5' || $w{world} eq '7';
$m{stock} += $v;
if ($m{stock} > $cs{food}[$y{country}]) {
$mes .= "$c_yの食料が尽きました!<br>";
$m{stock} = $cs{food}[$y{country}];
}
else {
$mes .= "$vの食料強奪に成功しました!<br>";
}
$mes .= "[ 連続$m{turn}回成功 トータル強奪 $m{stock} ]<br>";
}
sub tp_230 { # 諜報成功
my $v = int( ($m{cho_c} + $m{mat}) * $m{turn} * rand(4) );
&color(#F00){$v = int(rand(500)+2000) if $v > 2500;}
$v *= 2 if $w{world} eq '5' || $w{world} eq '7';
$m{stock} += $v;
if ($m{stock} > $cs{money}[$y{country}]) {
$mes .= "$c_yの$e2j{money}が尽きました!<br>";
$m{stock} = $cs{money}[$y{country}];
}
else {
$mes .= "$vの資金流出に成功しました!<br>";
}
$mes .= "[ 連続$m{turn}回成功 トータル諜報 $m{stock} ]<br>";
}
sub tp_330 { # 洗脳成功
my $v = int( ($m{sen_c} + $m{cha}) * $m{turn} * rand(4) );
&color(#F00){$v = int(rand(500)+1500) if $v > 2000;}
$v *= 2 if $w{world} eq '5' || $w{world} eq '7';
$m{stock} += $v;
if ($m{stock} > $cs{soldier}[$y{country}]) {
$mes .= "$c_yの兵士がもういません!<br>";
$m{stock} = $cs{soldier}[$y{country}];
}
else {
$mes .= "$v人の兵士洗脳に成功しました!<br>";
}
$mes .= "[ 連続$m{turn}回成功 トータル洗脳 $m{stock} ]<br>";
}
**物資(上限99万9999)
***./lib/system_game.cgi
sub write_cs の
# -------------------
# 物資の最大値
&color(#F00){$cs{food}[$m{country}] = 999999 if $cs{food}[$m{country}] > 999999;}
&color(#F00){$cs{money}[$m{country}] = 999999 if $cs{money}[$m{country}] > 999999;}
&color(#F00){$cs{soldier}[$m{country}] = 999999 if $cs{soldier}[$m{country}] > 999999;}
**ステータスやお金(上限999、99万9999G)
***./lib/system_game.cgi
sub write_user {
&error("プレイヤーデータの書き込みに失敗しました") if !$id || !$m{name};
$m{ltime} = $time;
$m{ldate} = $date;
# -------------------
# ステータスの最大値
&color(#F00){for my $k (qw/max_hp max_mp at df mat mdf ag lea cha/) {}
&color(#F00){$m{$k} = 999 if $m{$k} > 999;}
&color(#F00){}}
&color(#F00){$m{money} = 999999 if $m{money} > 999999;}
&color(#F00){$m{coin} = 999999 if $m{coin} > 999999;}
表示オプション
横に並べて表示:
変化行の前後のみ表示: