| 2005/04/21(Thu) 03:18:27 編集(投稿者) 2005/04/21(Thu) 03:16:37 編集(投稿者)
2.10で追加された特殊能力「盾」を、破属性を受けるとダメージが0でも回数が1回、ダメージを受けると回数が2回減る能力として擬似再現したいのですが、いくつか壁にぶつかってしまっています。
ロボ乗り ロボ乗り, 男性, ロボ, AABA, 200 特殊能力 盾防御Lv1=S防御, 1, Lv2, 5, Lv3, 10 S防御=解説 シールド防御を行い、ダメージを$()減少させる, 1 === フィールドLv1=盾 (盾防御回数Lv1 盾防御Lv1 !盾防御Lv2) フィールドLv1.2=盾 (盾防御回数Lv1 盾防御Lv2 !盾防御Lv3) フィールドLv1.4=盾 (盾防御回数Lv1 盾防御Lv3 !盾防御Lv4)
盾持ちロボ 盾持ちロボ, ロボ, 1, 4 陸, 3, M, 800, 30 特殊能力 パイロット能力付加="盾防御回数Lv5" 盾防御回数Lv5=解説 レベル回数分盾を発動させる 2600, 60, 700, 45 -ACA, -.bmp
*攻撃 敵 味方 : 盾防御前 = HP(相手ユニットID)
Exit
*攻撃後 敵 味方 : If Info(対象ユニットID,武器, 対象ユニット使用武器番号, 属性所有, 破) = 1 Then If HP(相手ユニットID) < 盾防御前 Then SetSkill 相手パイロット 盾防御回数 (Skill(相手パイロット,盾防御回数) - 2) EndIf Else If HP(相手ユニットID) < 盾防御前 Then SetSkill 相手パイロット 盾防御回数 (Skill(相手パイロット,盾防御回数) - 1) EndIf EndIf
Exit
と、ここまで作ったのですが、以下の問題が解決できません。
1.ダミー特殊能力S防御の解説の中に、盾防御Lv*100+400の値を表示させたいのですが、方法がわからない。
2.SetSkillで盾防御回数Lvを下げても、Skill関数は下がる前の値を返してしまうので、盾防御回数Lvが0にならない。
3.受けたダメージが0だと盾防御回数Lvが減らないので、攻撃が命中しただけでLvが減るようにしたいのですが、攻撃が命中したかどうかの判定方法がわからない。
以上です。どうすれば上記の問題を解決できるでしょうか?よろしくお願いします。
|