$hidden = '#CCCCCC'; # この色は、背景色に近い色に設定して下さい。 # トラップシステム Ver 3.11 By SION 2003.08.11 # 原作/罠システム Ver 1.1 By 人形 2002.04.15 ########################################################################## # パーミッション(644|604) ########################################################################## # 本体対応状況: # SoS II Ver 1.10 (c)sho / MISSING LINK [ http://www.area-s.com/ ] # SoS II dollEx 人形氏 / 月里影氏 [ http://www5.ocn.ne.jp/~mvillage/ ] # ↓ 当改造のサポートは下記のサイトでのみ行っております。 # http://www.sionjam.net/ # MISSING LINK / 他サイトへのお問合せはご迷惑が掛かりますのでご遠慮下さい push (@editor,"トラップ出現 Ver 3.11 by SION"); push (@editor,"原作:罠システム Ver 1.1 人形&月里影"); # Ver 1.1 >> Ver 2.0 # ・スクリプトの書き下ろし # ・複数回探索におけるマイナーチェンジ # 原作:トラップ発動後も探索続行 # →トラップ発動後は探索停止(回復トラップ除く) # ・トラップ解除における罠解除スキルの扱いの変更 # 原作:罠スキル無し=解除不可 有り=ランダムに解除 # → 無し=ランダムに解除 有り=高確率で解除 # ・罠ダメージの不具合修正 # ・経験値システムの取り入れ # Ver 2.0 >> Ver 3.0 # ・罠をアイテムの一種として扱う修正。 #  これにより、個別の発生率・解除率・経験値の設定が可能となる。 # ・罠に複数種別設定可能(毒+ダメージなど) # Ver 3.0 >> Ver 3.11 # ・AdvancedEditionへの対応 ⇒ 本家版への再移植 #  細かな機能追加/バージョンアップ #=======《 Sub Trap 》===================================================# sub trap { $fg = 'trap'; $trapmsg = ''; $tp_clr = int(substr($idt,0,2)); $tp_sclr = int(substr($idt,2,2)); $tp_pow = int(substr($idt,4,2)); $tp_exp = int(substr($idt,6,2)); $trapmsg = "罠だ!!"; #-------- トラップ解除判定 ----------------------------------------------- $random = int(rand(100)); if ($tp_clr >= $random) { $fg = ''; if ($tp_exp && $lv) { $trapmsg .= ">> トラップ解除成功!! $tp_exp の経験地を入手した
"; $exp += $tp_exp; } else { $trapmsg .= '>> トラップ解除成功!!
'; } } elsif (($sp =~ /Tp/) && ($tp_sclr >= $random)) { $trapmsg .= '>> トラップ解除成功!!
'; } else { $trapmsg .= ">> トラップ解除失敗!!
$inm \n"; $tp_type = substr($idt,8); } #-------- トラップダメージ判定 ------------------------------------------- # ダメージ if ($tp_type =~ /Di/) { $trapmsg .= ">> $tp_pow ポイントのダメージを受けた
"; $hp -= $tp_pow; if ($hp < 0) { $hp = 0; }} # 回復 elsif ($tp_type =~ /Fd/) { $trapmsg .= ">> $tp_pow ポイント回復した
"; $hp += $tp_pow; $fg = ''; } # トランスポート(※大和さん作の街移動システム対応) elsif ($tp_type =~ /Tw/) { $trapmsg .= " >> 別の場所にテレポートした
"; $tw = int($tp_pow); } # トランスポート(※人形さん作のエリア移動システム対応) elsif ($tp_type =~ /Ar/) { $trapmsg .= " >> 別の場所にテレポートした
"; $area = 'a' . $tp_pow; } # 治癒 if ($tp_type =~ /Rv/) { if ($av ne 'alive') { $trapmsg .= ">> 状態が回復した
"; } $av = 'alive'; $fg = ''; } # 即死 (※HPは変化しません。) elsif ($tp_type =~ /Dt/) { $av = 'dead'; } # 即死 (※HPが0になります。) elsif ($tp_type =~ /Dd/) { $hp = 0; $av = 'dead'; } # 毒 elsif ($tp_type =~ /Pz/) { $trapmsg .= "  >> 毒にかかってしまった
"; $av = 'poison'; } # 麻痺 elsif ($tp_type =~ /Pr/) { $trapmsg .= "  >> 体が麻痺してしまった
"; $av = 'paralysis'; } # 呪い elsif ($tp_type =~ /Cr/) { $trapmsg .= "  >> 呪いに掛かってしまった
"; $av = 'curse'; } # 一時使用解除 if ($tp_type =~ /Im/) { if ($bp) { $trapmsg .= "  >> 一時使用中のアイテムを落としてしまった "; } $bp = ''; $bn = ''; } # アイテム発見の有無(※通常利用しません。利用時は要改造) if ($idt !~ /Nf/) { $exist = 1; } push (@msg, $trapmsg); } 1;