### 書式 ### # Call 変身_アップグレード処理 (変身先ユニット名) (変身元ユニットID(省略可)) 変身_アップグレード処理: # 変数宣言 Local _変身元 _パイロット _変身後 _HP _EN _武器数 _武器名 _最大弾数 _弾数 _アビリティ数 _アビリティ名 _最大使用回数 _使用回数 i # 変身元の取得 _変身元 = IIf(Args(2) = "", 対象ユニットID, Args(2)) _パイロット = PilotID(_変身元) # HP・EN保存 _HP = HP(_変身元) _EN = EN(_変身元) RecoverHP _変身元 100 RecoverEN _変身元 100 _HP割合 = (_HP - HP(_変身元)) * 100 / HP() _EN割合 = (_EN - EN(_変身元)) * 100 / EN() # 武器弾数保存 _武器数 = Info(ユニット, _変身元, 武器数) For i = 1 To _武器数 _武器名 = Info(ユニット, _変身元, 武器, i) _最大弾数[_武器名] = Info(ユニット, _変身元, 武器, i, 最大弾数) _弾数[_武器名] = Info(ユニット, _変身元, 武器, i, 弾数) Next # アビリティ使用回数保存 _アビリティ数 = Info(ユニット, _変身元, アビリティ数) For i = 1 To _アビリティ数 _アビリティ名 = Info(ユニット, _変身元, アビリティ, i) _最大使用回数[_アビリティ名] = Info(ユニット, _変身元, アビリティ, i, 最大使用回数) _使用回数[_アビリティ名] = Info(ユニット, _変身元, アビリティ, i, 使用回数) Next # アップグレード Upgrade _変身元 Args(1) _変身後 = UnitID(_パイロット) # HP・EN復旧 RecoverHP _変身後 _HP割合 RecoverEN _変身後 _EN割合 # 武器弾数復旧 _武器数 = Info(ユニット, _変身後, 武器数) For i = 1 To _武器数 _武器名 = Info(ユニット, _変身後, 武器, i) If _最大弾数[_武器名] * Info(ユニット, _変身後, 武器, i, 最大弾数) > 0 Then SetBullet _変身後 i (_弾数[_武器名] * Info(ユニット, _変身後, 武器, i, 最大弾数) / _最大弾数[_武器名]) EndIf Next # アビリティ使用回数復旧 _アビリティ数 = Info(ユニット, _変身後, アビリティ数) For i = 1 To _アビリティ数 _アビリティ名 = Info(ユニット, _変身後, アビリティ, i) If _最大使用回数[_アビリティ名] * Info(ユニット, _変身後, アビリティ, i, 最大使用回数) > 0 Then SetStock _変身後 i (_使用回数[_アビリティ名] * Info(ユニット, _変身後, アビリティ, i, 最大使用回数) / _最大使用回数[_アビリティ名]) EndIf Next Return