Files
ore/inc/ore_sub-ability.cgi
T

173 lines
3.7 KiB
Perl
Executable File

#-----------------------------------------------------------#
# 죄와 벌++ 이율배반 #
# 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 ability{
if(!$type){
&abi_up_data;
$log .= "UA $va G UD $vd G LR $vl G AG $vg G<br>체력·정신을 15000 G 사용하여 각각의 능력을 올립니다.<br>\n";
$tm=0;
$type='능력';
&ability_menu;
}
&dat_write;
}
sub ability_menu{
# 능력 커맨드
@st = ('그만둔다','HP-UP','MP-UP','UA-UP','UD-UP','LR-UP','AG-UP');
$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 .. $#st){ $log2 .= "<option value=$_>$st[$_]</option>\n";}
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
#-------------------------------------------------------------------------------
# 능력 처리
sub ability_exe{
if(!$tm){
&abi_up_data;
if($cmd<=0){
$log .= "그만둡니다.<br>\n";
$tm = $cmd = 0;
$type='';
&call_main_st;
}elsif($cmd==1){
if($gold<15000){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
$type='';
&ability_menu;
}else{
$log .= "최대 HP가 3 올랐다.<br>\n";
$max_hp+=3;
$gold-=15000;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}elsif($cmd==2){
if($gold<15000){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
$type='';
&ability_menu;
}else{
$log .= "최대 MP가 3 올랐다.<br>\n";
$max_mp+=3;
$gold-=15000;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}elsif($cmd==3){
if($gold<$va){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
&ability_menu;
}else{
$log .= "공격력이 1 올랐다.<br>\n";
$ua++;
$gold-=$va;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}elsif($cmd==4){
if($gold<$vd){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
&ability_menu;
}else{
$log .= "방어력이 1 올랐다.<br>\n";
$ud++;
$gold-=$vd;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}elsif($cmd==5){
if($gold<$vl){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
&ability_menu;
}else{
$log .= "지휘력이 1 올랐다.<br>\n";
$lr++;
$gold-=$vl;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}elsif($cmd==6){
if($gold<$vg){
$log .= "돈이 부족합니다.<br>\n";
$tm = $cmd = 0;
&ability_menu;
}else{
$log .= "민첩성이 1 올랐다.<br>\n";
$ag++;
$gold-=$vg;
$tm = $cmd = 0;
$type='';
&call_main_st;
}
}
}
&dat_write;
}
# 능력 상승치 계산
sub abi_up_data{
$va=int($ua*$ua)*100;
$va=15000 if($va<15000);
$va=500000 if($va>500000);
$vd=int($ud*$ud)*100;
$vd=15000 if($vd<15000);
$vd=500000 if($vd>500000);
$vl=int($lr*$lr)*100;
$vl=30000 if($vl<30000);
$vl=500000 if($vl>500000);
$vg=int($ag*$ag)*100;
$vg=15000 if($vg<15000);
$vg=500000 if($vg>500000);
return ($va,$vd,$vl,$vg);
}
1;