したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

新・くだらない質問にもマジレスするスレ3

339名無しさん(ザコ):2014/03/29(土) 20:53:17 ID:Q3NJplDU0
援護とか一切考えなくていいならこんな感じかなぁ

動作確認とかしてないから、動かす前にちゃんと書式とかヘルプで確認してください。
根本的に間違ってたらごめん


#※半減させる武器には"半"属性が付いているものとする
#※イベントで切り払いやS防御をSetSkillすることがある場合には対応してない
#※切り払いレベルによる相殺にも対応してない
##↓以下インクル

#攻撃前に特殊能力レベルを半減させる
*攻撃 全 全:
Call 特殊能力レベル半減解除処理 //念のため
Call 特殊能力レベル半減処理 対象ユニットID 対象ユニット使用武器番号 相手ユニットID
Call 特殊能力レベル半減処理 相手ユニットID 相手ユニット使用武器番号 対象ユニットID
Exit

#処理本体
特殊能力レベル半減処理:
If Info("ユニット",Args(1),"武器",Args(2),"属性所有","半") Then
 Local 半減パイロット = PilotID(Args(3)
 Set 半減フラグ[半減パイロット] //解除する時のためにフラグを立てておく
 SetSkill 半減パイロット "切り払い" (Skill(半減パイロット,"切り払い") / 2)
SetSkill 半減パイロット "S防御" (Skill(半減パイロット,"S防御") / 2)
EndIf
Return


#終わったら特殊能力レベルを戻す
*攻撃後 全 全:
*破壊 全:
*エピローグ:
Call 特殊能力レベル半減解除処理
Exit

特殊能力レベル半減解除処理:
If Count(半減フラグ) > 0 Then
 Local i
 ForEach i In 半減フラグ
  If Level(i) > 0 Then
   ClearSkill i "切り払い"
   ClearSkill i "S防御"
  EndIf
 Next
 Unset 半減フラグ
EndIf
Return




掲示板管理者へ連絡 無料レンタル掲示板