#!/usr/bin/perl
#-------------------------------------------------------------------------------
# 武具装備
sub equip_bugu {
# 現在の装備を退避
my $temp_dg = $dg_a;
my $temp_cnt = $dg_cnt;
my $temp_lv = $dg_lv;
if ($cmd==19){
$dg_a=$dg_a1;
$dg_cnt=$dg_cnt1;
$dg_lv=$dg_lv[1];
$dg_a1=$temp_dg;
$dg_cnt1=$temp_cnt;
$dg_lv[1]=$temp_lv;
}elsif($cmd==20){
$dg_a=$dg_a2;
$dg_cnt=$dg_cnt2;
$dg_lv=$dg_lv[2];
$dg_a2=$temp_dg;
$dg_cnt2=$temp_cnt;
$dg_lv[2]=$temp_lv;
}elsif($cmd==21){
$dg_a=$dg_a3;
$dg_cnt=$dg_cnt3;
$dg_lv=$dg_lv[3];
$dg_a3=$temp_dg;
$dg_cnt3=$temp_cnt;
$dg_lv[3]=$temp_lv;
}
}
#-------------------------------------------------------------------------------
# 武具の使用
sub bugu_k{
if($cmd==101){
if($dg_a==31 && $dg_cnt>0){
my $seikou = 0;
# ソードブレイカー
if(int(rand(100)<50) && int(rand($ag))>int(rand($tag))){
$log .= qq|ソ\ー\ドブレイカー!!$tnmの攻撃力が低下した!!
|;
$tua = int($tua/5*3);
$seikou = 1;
}
if($seikou==0){
$log .= qq|ソ\ー\ドブレイクに失敗した!
|;
}
}
}
}
#-------------------------------------------------------------------------------
#道具(PC用)
sub dogu_k {
my $flg_used = 0;
my $v;
$di_a[0] = $di_a;
$di_cnt[0] = $di_cnt;
if($di_a[$cmd-15] == 2){
$hp = $max_hp;
$mp = $max_mp;
$log .="$nm は $di_data[2][1] を使った! 体力と魔力が 全回復した!
\n";
}elsif($di_a[$cmd-15] == 3){
$hp = $max_hp;
$log .="$nm は $di_data[3][1] を使った! 体力が 全回復した!
\n";
}elsif($di_a[$cmd-15] == 4){
$mp = $max_mp;
$log .="$nm は $di_data[4][1] を使った! 魔力が 全回復した!
\n";
}elsif($di_a[$cmd-15] == 11){
if(int($hp+80) < $max_hp){
$v=80;
$hp += $v;
}else{
$v=$max_hp-$hp;
$hp += $v;
}
if(int($mp+60) < $max_mp){
$vv=60;
$mp += $vv;
}else{
$vv=$max_mp-$mp;
$mp += $vv;
}
$log .="$nm は $di_data[11][1]を使った!
体力が $v 回復し、さらに精神が $vv 回復した!
\n";
}elsif($di_a[$cmd-15] == 12){
if(int($mp+80) < $max_mp){
$v=80;
$mp += $v;
}else{
$v=$max_mp-$mp;
$mp += $v;
}
$log .="$nm は $di_data[12][1] を使った! 精神が $v 回復した!
\n";
}elsif($di_a[$cmd-15] == 13){
if(int($mp+40) < $max_mp){
$v=40;
$mp += $v;
}else{
$v=$max_mp-$mp;
$mp += $v;
}
$log .="$nm は $di_data[13][1] を使った! 精神が $v 回復した!
\n";
}elsif($di_a[$cmd-15] == 14){
if(int($hp+100) < $max_hp){
$v=100;
$hp += $v;
}else{
$v=$max_hp-$hp;
$hp += $v;
}
$log .="$nm は $di_data[14][1] を使った! 体力が $v 回復した!
\n";
}elsif($di_a[$cmd-15] == 15){
if(int($hp+50) < $max_hp){
$v=50;
$hp += $v;
}else{
$v=$max_hp-$hp;
$hp += $v;
}
$log .="$nm は $di_data[15][1] を使った! 体力が $v 回復した!
\n";
}elsif($di_a[$cmd-15] == 24){
$max_hp += int(rand(10)+5);
$log.="$di_data[24][1] を使った!力が湧いてくる!!
\n";
}elsif($di_a[$cmd-15] == 25){
$max_mp += int(rand(10)+5);
$log.="$di_data[25][1] を使った!頭がすっきりしてきた!!
\n";
}elsif($di_a[$cmd-15] == 26){
$ua += int(rand(3)+1);
$log.="$di_data[26][1] を使った!力が湧いてきた!!
\n";
}elsif($di_a[$cmd-15] == 27){
$ud += int(rand(3)+1);
$log.="$di_data[27][1] を使った!
\n";
}elsif($di_a[$cmd-15] == 28){
$ag += int(rand(3)+1);
$log.="$di_data[28][1] を使った!体が軽くなったような気がする!
\n";
}elsif($di_a[$cmd-15] == 23){ # 翼のペンダント
$log .= "翼のペンダントが光だし、$nmは、光に包まれた。
\n";
$log .= "光が収束したとき、迷宮の入り口に立っていた
\n";
$tm = 0;
$type = '';
}elsif($di_a[$cmd-15]==29 && $dung_fl==2 && $dung_xx==8 && $dung_yy==4){
# 迷宮の現在位置でイベント発動
$log .= qq|髑髏の装飾のカギ取り出し、カギあなに差し込み回した
|;
$log .= qq|カチリッとかすかな音を立ててカギの開いた音がした
|;
$log .= qq|ゆっくり、ギ・・ギ・ギ・・ときしみながら、扉は開いた!
|;
$di_a[$cmd-15]=102;
$di_a=102 if($cmd==15);
$flg_used=-1;
}elsif($di_a[$cmd-15] == 32){ # 1階の地図
&show_floor_map(1);
if(int(rand(10))==0){
$log .= qq|地図はぼろぼろになって読めなくなってしまった・・・
|;
}else{ $flg_used=-1; }
}elsif($di_a[$cmd-15] == 33){ # 2階の地図
&show_floor_map(2);
if(int(rand(10))==0){
$log .= qq|地図はぼろぼろになって読めなくなってしまった\・・・
|;
}else{ $flg_used=-1; }
}elsif($di_a[$cmd-15] == 34){ # 3階の地図
&show_floor_map(3);
if(int(rand(10))==0){
$log .= qq|地図はぼろぼろになって読めなくなってしまった\・・・
|;
}else{ $flg_used=-1; }
}elsif($di_a[$cmd-15] == 35){
if($lamp<1){
$log .= qq|ランプに火を点けました
あたりがランプの光に照らし出された
|;
if($lamp<0){
$lamp=$lamp*-1;
}else{
$lamp=int(rand(100)+50);
}
}else{
$log .= qq|ランプの火を消した。あたりは薄暗闇に包まれた・・・。
|;
$lamp = $lamp * -1;
}
$flg_used = -1; # 減らない
}elsif($di_a[$cmd-15] == 100){
$sogo = 91; $log .= qq|日頃の修行を認められ$sogo_p[$sogo]の称号を取得しました|;
# $gold += 100000;
}elsif($di_a[$cmd-15] == 101){
$sogo = 61; $log .= qq|日頃の徴兵の成果を認められ$sogo_p[$sogo]の称号を取得しました|;
# $gold += 100000;
}else{
$log .= "使用できません";
$flg_used = 1;
}
if($flg_used == 0){
# $flg_used が0なら数をひとつ減らす
$di_cnt[$cmd-15]--;
# 0以下なら持ち物をクリア
$di_a[$cmd-15] = $di_cnt[$cmd-15] = 0 if($di_cnt[$cmd-15]<=0);
$di_a = $di_a[0];
$di_cnt = $di_cnt[0];
}
}
1;