トップ 新規 一覧 Farm 検索 ヘルプ RSS ログイン

装備関連強化の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!{{category SOS2改造}}装備関連強化
{{font color=red,注意!}}
 バグはちゃっちゃと報告しましょう、ご利用は計画的に:)

:09/01/2007:
致命的なバグがありましたので修正しました。
ご報告ありがとうございます*bow*

!!概要
装備関連の強化です。
スキル「二刀流」、スキル「限定解除二刀流」、「呪われたアイテム」の概念を追加できます。

:二刀流:
片手武器を両手に装備可能になります、メジャーなスキルのリプライズです。

:限定解除二刀流:
二刀流の強化スキル、両手武器を二刀流できます。

:呪われたアイテム:
装備すると外せなくなります:p

*解呪の方法はご自分で工夫します、導入する際はご注意ください。
*WIZやDQ風に寺院(教会)で呪い装備を破壊する場合、戦闘での破壊or被盗が参考になると思います。
*二刀流で戦闘の際、デフォルトのままでは所持位置が上位の武器から破壊されます。

!!改造
!1. スキルと略字の設定をします
,表記,説明
,○○,二刀流のスキル
,××,限定解除二刀流のスキル
,□□,呪われたアイテムの略字
,△△,呪われたアイテムが装備された状態と判断するための略字

!2. # Sub Use After # の修正
呪われたアイテムが装備が解除できないようにします。

step1.
 	&splititem('i');
の下に
     ## Pre-CHK
 	$c_w = $c_s = $c_a = $c_j = 0;
 	foreach (0 .. $#items) {
 		($item,$sts,$price) = split(/△/,$items[$_]);
 
 		if ($sts =~ /(Cd)/) {
 			if    ($sts =~ /(Sw|Kn|Kt|Ax|Gv|Bw|Mi|Wd|Yw)/) { $c_w = 1 }
 			elsif ($sts =~ /(Sh|Ys)/) { $c_s = 1 }
 			elsif ($sts =~ /(Ar|Ya)/) { $c_a = 1 }
 			elsif ($sts =~ /(Jw|Yt)/) { $c_j = 1 }
 		}
 	}
を追加します。

step2.
 foreach (0 .. $#items) {
 	($item,$sts,$price) = split(/△/,$items[$_]);
 	$iak = substr($sts,4,2); $idd = substr($sts,6,2);
 	if ($sts =~ /Q[swat]/) { $nomsg = 1 } else { $nomsg = 0 }
 	$sts =~ s/Q[swat]//g;

 	if ($Fm{$_}) {
に4行追加します↓
 foreach (0 .. $#items) {
 	($item,$sts,$price) = split(/△/,$items[$_]);
 	$iak = substr($sts,4,2); $idd = substr($sts,6,2);
 	if ($sts =~ /Q[swat]/) { $nomsg = 1 } else { $nomsg = 0 }
 	$sts =~ s/Q[swat]//g;

     ## ここから
 	$curse = 0;
 	if ($sts =~ /(△△)/) {
 		&umsg('外) if !$Fm{$_};
 		&umsg('外') if !$Fm{$_};
 		$sts =~ s/$1//g; $Fm{$_} = 'on'; $curse = 1;
  	} else {
 		if ($Fm{$_}) {
 			if    ($c_w && $sts =~ /(Sw|Kn|Kt|Ax|Gv|Bw|Mi|Wd|Yw)/) { &umsg('非'); $Fm{$_} = '' }
 			elsif ($c_s && $sts =~ /(Sh|Ys)/) { &umsg('非'); $Fm{$_} = '' }
 			elsif ($c_a && $sts =~ /(Ar|Ya)/) { &umsg('非'); $Fm{$_} = '' }
 			elsif ($c_j && $sts =~ /(Jw|Yt)/) { &umsg('非'); $Fm{$_} = '' }
 		}
 	}
     ## ここまで

 	if ($Fm{$_}) {

!3. # Sub Use Message # の修正
メッセージを3つ追加します。

 '呪',"おおっと! $itemは呪われていました",
 '外',"$itemは呪われているため外せません",
 '非',"既に呪われているため$itemは装備できません",

!4. # Sub Arm # の修正
すこし大掛かりです。

STEP1.
 if ($sts =~ /Dh/ && $sp !~ /Oh/) {
 	if ($ch !~ /Q[sw]/) {
		$ab += $iak; $db += $idd;
		&umsg('装') if !$nomsg;
		if ($a1 eq 'Bw') { $sp .= 'Qb' }
		if ($a1 eq 'Kt') { $sp .= 'Qk' }
		if ($a1 eq 'Ax') { $sp .= 'Qx' }
		if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
		$ch .= 'QwQs'; $sts .= 'QwQs';

 	} else { &umsg('両') }
に追記、条件分岐を足します↓
 if ($sts =~ /Dh/ && $sp !~ /Oh/) {
 	if ($ch !~ /Q[sw]/) {
 		$ab += $iak; $db += $idd;
		&umsg('装') if !$nomsg;
		if ($a1 eq 'Bw') { $sp .= 'Qb' }
		if ($a1 eq 'Kt') { $sp .= 'Qk' }
		if ($a1 eq 'Ax') { $sp .= 'Qx' }
		if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
		$ch .= 'QwQs'; $sts .= 'QwQs';
     ## 追記
		if ($sts =~ /□□/) { $sts .= '△△'; &umsg('呪') if !$curse }

     ## ここから
 	} elsif ($ch !~ /××/ && $sp =~ /××/) {
 		$ab += $iak; $db += $idd;
 		&umsg('装') if !$nomsg;
 		if ($a1 eq 'Bw') { $sp .= 'Qb' }
 		if ($a1 eq 'Kt') { $sp .= 'Qk' }
 		if ($a1 eq 'Ax') { $sp .= 'Qx' }
 		if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
 		$ch .= 'QwQs' . '××'; $sts .= 'QwQs';
 		if ($sts =~ /□□/) { $sts .= '△△'; &umsg('呪') if !$curse }
     ## ここまで

 	} else { &umsg('両') }

STEP2.
 } elsif ($ch !~ /$a2/) {
 	$ab += $iak; $db += $idd;
 	&umsg('装') if !$nomsg;
 	if ($a1 eq 'Bw') { $sp .= 'Qb' }
 	if ($a1 eq 'Kt') { $sp .= 'Qk' }
 	if ($a1 eq 'Ax') { $sp .= 'Qx' }
 	if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
 	$ch .= $a2; $sts .= $a2;

 } else { &umsg('別') }
に追記、条件分岐を足します↓
 } elsif ($ch !~ /$a2/) {
 	$ab += $iak; $db += $idd;
 	&umsg('装') if !$nomsg;
 	if ($a1 eq 'Bw') { $sp .= 'Qb' }
 	if ($a1 eq 'Kt') { $sp .= 'Qk' }
 	if ($a1 eq 'Ax') { $sp .= 'Qx' }
 	if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
 	$ch .= $a2; $sts .= $a2;
     ## 追記
 	$ch .= '××' if $a1 =~ /Sh|Ys/;
     ## 追記
 	if ($sts =~ /□□/) { $sts .= '△△'; &umsg('呪') if !$curse }

     ## ここから
 } elsif ($ch !~ /Qs/ && $sp =~ /○○/ || $ch !~ /××/ && $sp =~ /××/) {
 	$ab += $iak; $db += $idd;
 	&umsg('装') if !$nomsg;
 	if ($a1 eq 'Bw') { $sp .= 'Qb' }
 	if ($a1 eq 'Kt') { $sp .= 'Qk' }
 	if ($a1 eq 'Ax') { $sp .= 'Qx' }
 	if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
 	$ch .= "$a2" . 'Qs' . '××'; $sts .= $a2;
 	if ($sts =~ /□□/) { $sts .= '△△'; &umsg('呪') if !$curse }
     ## ここまで

 } else { &umsg('別') }
以上で修正完了です。
*作ってみたナリよ、キテレツ - Pse (2007年04月06日 14時40分02秒)