Files
ore/inc/ore_sub-subduetime.cgi
T
2026-06-22 21:09:26 +09:00

349 lines
8.4 KiB
Perl
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#-----------------------------------------------------------#
# 罪と罰++ 二律背反 #
# 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 ws_st {
if(!$tm && !$ck){
$log .="$date $cmp[$nation] を探索中です<br>\n";
# NPC(魑魅魍魎)読み込み
require './inc/ore_sub-npc_2.cgi';
local $v=int(rand(7));
&ck_ne_2;
$log .="<hr size=1 noshade>\n";
$log .="$cmp[$nation] に蔓延る $tnm を発見した!<br>\n";
$log .="戦闘態勢をとります!<br>\n";
$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|<input type="hidden" name="cmd" value="-1"><input $button1 type="submit" value=" 戦闘突入!!">$td_end</form>\n|;
$tm=40;
$ck=1;
}elsif($ck){
# 戦闘処理読み込み
require './inc/ore_sub-battle.cgi';
if(!$b_n && !$tlr){
$tm = 0;
$ck = 0;
$nation = 0;#討伐
$type='';
$log .="戦闘中にバグが発生しました!強制的にメイン画面に戻ります<br>\n";
}
if($tm==40 && $cmd==-1){
$tm=55;
$log .="<p>$tnm との対決!!</p><p>どうしますか?</p>\n";
$log .="<p>魑魅魍魎ステータス - $tnm ( HP $thp MP $tmp UA $tua UD $tud LV $tlv )</p>\n";
}
if($tm==55){
if($cmd==10){
my $btp = $ag + int(rand($lv)*0.8);
my $bte = $tag+ int(rand($tlv)*0.8);
if($btp>=$bte){
$log .="$nm は 脱兎の如く逃げ出した・・・<br>評価が著しく下がった<br>\n";
$tm=0;
$v = int(2 + rand(4));
$rank_exe-=$v;
$sol=0;
$tnm='';
$ck=0;
$nation=0;#討伐
$type='';
$vv = int(rand(2));
if(!$vv){
$we-- if($we>0);
}
}else{
$log .="$nm は 脱兎の如く逃げ出した・・・<br>しかし! $tnm に追いつかれてしまった!!<br>\n";
$tm=65;
$rank_exe-=1;
}
}elsif($cmd==20){
$log .="$tnm の討伐を行なう事に!<br>\n";
$tm=65;
$rank_exe+=1;
}
}elsif($tm==65){
$log .="真剣勝負開始!<br>\n";
$tm=75;
}elsif($tm==75){
&bt_cm;
if($thp<1){
# 獲得金
$G =int(rand(200))+((500*$tlv)-($lv*50));
$G =1 if($G<1);
$G =int(rand(500))+1500 if($G>2000);
$gold +=$G;
# 経験値
$E = int((($tlv*2)+$tua+$tud+$tag)*(rand($lv/10)+3))-$lv*2;
$E = int(rand(300)+1300) if($E>1500);
$exe+=$E;
$thp=0;
$bst ='';
$bt =0;
$log .="$nm は $tnm を倒した!<br>\n";
$log .="$G の金 と $E の経験値を得た!<br>\n";
$log .="<br>\n";
# 賞金(自国優位)
if($nation==$camp){
$G =int($my_cg/(rand(6)+15));
$G =int(rand(500))+1500 if(int(2000>=$G));
$G =int(rand(1500))+4000 if(int(5000<=$G));
}else{
if($nation==1){$G =int($cg1/(rand(11)+20));}
elsif($nation==2){$G =int($cg2/(rand(11)+20));}
elsif($nation==3){$G =int($cg2/(rand(11)+20));}
elsif($nation==4){$G =int($cg2/(rand(11)+20));}
elsif($nation==5){$G =int($cg2/(rand(11)+20));}
$G =int(rand(500))+500 if(int(1000>=$G));
$G =int(rand(1000))+2500 if(int(3500<=$G));
}
$exe+=$E;
$gold+=$G;
$tsol=int($tsol/2);
$log .="$cmp[$nation]から $G の賞金を得た!<br>\n";#討伐
$V =int(rand(4));
$sol_lv-=$V;
$rank_exe+=int($V*2)+5;
# 拾得物処理 1
if(int(rand(100))==0){
&syutoku1;
}else{
$sol=0;
$tnm='';
$ck = $tm = 0;
$nation=0;
$type='';
}
$we++;
if($we>250){
$log .="エルタニアの地に蔓延る魑魅魍魎の討伐の励みより $nm は $sogo_p[2] の称号を授かった!<br>\n";
$sogo =2;
$we =0;
}
}elsif($hp<1){
$bst ='';
$bt =0;
$ck =0;
$hp =0;
$G=int(rand(10))+1;
$E=int(rand(5))+1;
$gold+=$G;
$exe+=$E;
$log .="あなたは $tnm に敗れ去った…<br>\n";
$log .="$G の金 と $E の経験値を得た<br>\n";
$log .="<p></p>\n";
$sol=int($sol/2);
$rank_exe-=25;
$log .="魑魅魍魎に返り討ちにあうという不名誉な敗北に、<br>貴方に対する評価が著しく低下した<br>\n";
if($rank_exe<1){
$rank--;
$rank=1 if($rank<1);
$next_rank=int(($rank*$rank)*3);
$v=$next_rank-10;
$rank_exe=$v;
$log .="一階級降格されてしまった…<br>\n";
}
$sol=0;
$tnm='';
$ck= $tm = 0;
$nation=0;#討伐
$type='';
}
}
# 拾得物処理 2
if($cmd==40){
&syutoku2;
}elsif($cmd ==41){
$log .="$nm は 気づかなかったフリをして立ち去った・・・・・・<br>\n";
$sol=0;
$tnm='';
$ck = $tm = 0;
$nation=0;#討伐
$type='';
}
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td 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|;
if($tsol<1||$sol<1){
$log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
}if($tm==55){
$log2 .=qq|<select name="cmd" size="1"><option value="10">逃げる</option><option value="20">闘う</option>\n|;
$log2 .=qq|</select>|;
}elsif($tm==65){
$log2 .=qq|<input type="hidden" name="cmd" value="-1">\n|;
}elsif($tm==75){
&spell_sp;
}elsif($tm>=100){
$log2 .=qq|<select name="cmd" size="1"><option value="40">拾う</option><option value="41">ほっとく</option>\n|;
$log2 .=qq|</select>|;
}
$log2 .=qq|<br>|;#テーブルずれ修正
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;#テーブル追加</tr></table>
}
&dat_write;
}
#拾得物処理
sub syutoku1{
$log .="$tnm が消滅した場所に何か落ちている・・・・・<br>$nm は ";
my $S = int(rand(10)+1);
# 武具
if($S == 1){
$log .="$dg_data[2][1]を発見した!!<br><br>装備する場合、現在所持している武具";
$tm = 110;
}elsif($S == 2){
$log .="$dg_data[3][1]を発見した!!<br><br>装備する場合、現在所持している武具";
$tm = 120;
}elsif($S == 3){
$log .="$dg_data[4][1]を発見した!!<br><br>装備する場合、現在所持している武具";
$tm = 130;
# 道具
}elsif($S == 4){
$log .="$di_data[1][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 140;
}elsif($S == 5){
$log .="$di_data[2][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 150;
}elsif($S == 6){
$log .="$di_data[3][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 160;
}elsif($S == 7){
$log .="$di_data[4][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 170;
# 防具
}elsif($S == 8){
$log .="$df_data[2][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 180;
}elsif($S == 9){
$log .="$df_data[3][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 190;
}elsif($S == 10){
$log .="$df_data[4][1]を発見した!!<br><br>装備する場合、現在所持している道具";
$tm = 200;
}
$log .="は破棄されます。<br>どうしますか?<br>";
}
#拾得物処理2
sub syutoku2{
$log .="$nm は ";
# 武具2
if($tm==110){
$log .="$dg_data[2][1]";
$dg_a = 2;
$dg_cnt=$dg_data[2][3];
}elsif($tm==120){
$log .="$dg_data[3][1]";
$dg_a = 3;
$dg_cnt=$dg_data[3][3];
}elsif($tm==130){
$log .="$dg_data[4][1]";
$dg_a = 4;
$dg_cnt=$dg_data[4][3];
# 道具2
}elsif($tm==140){
$log .="$di_data[1][1]";
$di_a = 1;
$di_cnt=$di_data[1][3];
}elsif($tm==150){
$log .="$di_data[2][1]";
$di_a = 2;
$di_cnt=$di_data[2][3];
}elsif($tm==160){
$log .="$di_data[3][1]";
$di_a = 3;
}elsif($tm==170){
$log .="$di_data[4][1]";
$di_a = 4;
$di_cnt=$di_data[4][3];
# 防具2
}elsif($tm==180){
$log .="$df_data[2][1]";
$df_a = 2;
$df_cnt=$df_data[2][3];
}elsif($tm==190){
$log .="$df_data[3][1]";
$df_a = 3;
$df_cnt=$df_data[3][3];
}elsif($tm==200){
$log .="$df_data[4][1]";
$df_a = 4;
$df_cnt=$df_data[4][3];
}
$log .="を手に入れた!!<br>\n";
$sol=0;
$tnm='';
$ck = $tm = 0;
$nation=0;#討伐
$type='';
}
1;