[WE] 技能分享 - 聖光彈
看板WarCraft (魔獸爭霸 - 魔獸爭霸3)作者sapphireBOB (澄響幸輝絕品泉水)時間15年前 (2011/01/19 15:59)推噓15(15推 0噓 12→)留言27則, 17人參與討論串1/1
先跟大家拜個早年~ 由於要過年了
總是要來點特別的技能
這次的技能讓我很感動 靈感來自於impossible bosses的德魯伊
照慣例說明一下技能 :
招喚出(1/2/3/4)個聖光彈環繞在四周,每一個聖光彈最多環繞15秒
使用聖光擊可以將其中一個聖光彈向目標飛射造成爆炸傷害(100/150/200/250)
每次看見德魯施展維拉之靈就很想實作看看
於是乎不小心就作出來了 :p
比較難的地方是飛射與軌跡修正
飛射有人可能會想用"不穩定配方"
但是這有兩個缺點:
1)移動速度慢 沒有突進感
2)施展後原本黃色的聖光彈會變成藍色 就不像聖光該有的黃色了
所以(推眼鏡)
飛射的部分依然要靠觸發執行 但相對的會損耗較多的資源
-----------------------------開始-------------------------------------
<材料>
萬用隱藏施法部隊x1
聖光彈部隊x1 (模組選用預言家的飛射藝術 色彩藍色調成0)
部隊技能-聖光擊(查看從屬部分請預置一個 "聖光彈昇級"還有 部隊需求"聖光彈部隊")
母技能-我是用戰吼 你要用連結也可以
變數: 部隊變數x3 : U_Prayer_Bolt1
U_Prayer_Bolt2 勾選陣列大小4
U_Prayer_Bolt3
點變數x10 : 就一般的點變數
實數變數x2 : R_Prayer_Bolt1 勾選陣列大小4
R_Prayer_Bolt2
////勾選陣列的原因是為了讓每一個聖光彈都有一個變數在運作////
<觸發1>
事件- A unit 獲得技能
狀況- Learn Hero Skill 等於 聖光彈
行動- 玩者- Set the current research level of 聖光彈昇級 to 1
for (Owner of (Learning Hero))
觸發 - Turn off (This trigger)
////一開始的預置昇級這時候就用到啦~////
<觸發2>
事件- A unit 開始讓一種能力生效
狀況- (Ability being cast ) 等於 聖光彈
行動- Set U_Prayer_Bolt1 = (Casting unit)
For each (Integer A) from 1 to (Level of 聖光彈 for (Casting unit)),
do (Actions)
迴一行動
Set P_Prayer_Bolt1 = (Position of U_Prayer_Bolt1)
Set R_Prayer_Bolt1[(Integer A)] = 0.00
部隊 - Create 1 聖光彈部隊 for (Owner of U_Prayer_Bolt1) at
P_Prayer_Bolt1 facing 預設 degrees
Set U_Prayer_Bolt2[(Integer A)] = (Last created unit)
部隊 - Add a 15.00 second 一般 expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_P_Prayer_Bolt1)
<觸發3~6>
////因為都是類似的觸發所以我只寫一個////
事件- 時間 - Every 0.06 seconds of game time
狀況- (U_Prayer_Bolt2[1] is alive) 等於 真
////判定聖光彈還活著////
行動- Set R_Prayer_Bolt1[1] = (R_Prayer_Bolt1[1] + 1.00)
Set P_Prayer_Bolt3 = (Position of U_Prayer_Bolt1)
If (All Conditions are True) then do (Then Actions) else do (ElseActions)
如果一條件
(U_Prayer_Bolt1 is alive) 等於真
(Number of living 聖光彈部隊 units owned by (Owner of U_Prayer_Bolt1))
等於 4
////判定存在的聖光彈 以便調整軌跡////
就一行動
部隊 - Move U_Prayer_Bolt2[1] instantly to (P_Prayer_Bolt3 offset by
180.00 towards (45.00 + (8.00 x R_Prayer_Bolt1[1])) degrees)
否則一行動
If (All Conditions are True) then do (Then Actions) else do (ElseActions
如果一條件
(U_Prayer_Bolt1 is alive) 等於 真
(Number of living 聖光彈部隊 units owned by (Owner of
U_Prayer_Bolt1)) 等於 3
就一行動
部隊 - Move U_Prayer_Bolt2[1] instantly to (P_Prayer_Bolt3
offset by 180.00 towards (90.00 + (8.00 x R_Prayer_Bolt1
[1])) degrees)
否則一行動
If (All Conditions are True) then do (Then Actions)
else do (Else Actions)
如果一條件
(U_Prayer_Bolt1 is alive) 等於 真
(Number of living 聖光彈部隊units owned by
(Owner of U_Prayer_Bolt1)) 等於 2
就一行動
部隊 - Move U_Prayer_Bolt2[1] instantly to
(P_Prayer_Bolt3 offset by 180.00 towards
(135.00 + (8.00 x R_Prayer_Bolt1[1])) degrees)
否則一行動
If (All Conditions are True) then do (Then Actions)
else do (Else Actions)
如果一條件
(U_Prayer_Bolt1 is alive) 等於 真
(Number of living 聖光彈部隊 units owned by
(Owner of U_Prayer_Bolt1)) 等於 1
就一行動
部隊 - Move U_Prayer_Bolt2[1] instantly to
(P_Prayer_Bolt3 offset by 180.00
towards (180.00 + (8.00 x R_Prayer_Bolt1
[1])) degrees)
否則一行動
Custom script: call RemoveLocation(udg_P_Prayer_Bolt3)
////持續判定存活的聖光彈 讓他以對稱的角度環繞施法者
每一個聖光彈作一個觸發 而之後的觸發4 5 6 判定各數不用全部都到4
因為每次施展的時候自動命令第4個先放 所以第4個永遠不會被判定到剩下
3個或2個或者1個 ////
<觸發7>
事件- 部隊 - A unit 開始讓一種能力生效
狀況- (Ability being cast) 等於 聖光擊 <- 這是部隊欄的技能
行動- If (All Conditions are True) then do (Then Actions) else do
(Else Actions)
如果一條件
(U_Prayer_Bolt2[4] is alive) 等於真
就一行動
觸發 - Turn off 觸發6 <情報>
Set U_Prayer_Bolt3 = (Target unit of ability being cast)
觸發 - Turn on 觸發11 <情報>
否則一行動
........
////以下判定類似 因版面關係省略
判定第4個聖光彈如果活著 就先關掉他移動的觸發 然後讓他執行飛射的觸發
如果第4個聖光彈不是活著 代表可能已經施展掉或者母技能還不到4
那就讓他判定第3個是不是活著 所以(推眼鏡)
第1個聖光彈永遠最後被判定到 所以就符合觸發3的判定方法
同樣地 第4個聖光彈每次都先被判定到 所以他不用再判定其他聖光彈是否活著////
<觸發8~11> <-以觸發11作為例子
事件- 時間 - Every 0.05 seconds of game time
狀況-
行動- Set P_Prayer_Bolt7 = (Position of U_Prayer_Bolt2[1])
Set P_Prayer_Bolt10 = (Position of U_Prayer_Bolt3)
Set R_Prayer_Bolt2 = (Angle from P_Prayer_Bolt7 to P_Prayer_Bolt10)
Set P_Prayer_Bolt8 = (P_Prayer_Bolt7 offset by 55.00 towards R_Prayer_Bolt2
degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
如果一條件
(Distance between P_Prayer_Bolt7 and P_Prayer_Bolt10) 小於或等於
100.00
就一行動
觸發 - Turn off (This trigger)
部隊 - Kill U_Prayer_Bolt2[1]
否則一行動
部隊 - Move U_Prayer_Bolt2[1] instantly to P_Prayer_Bolt8
Custom script: call RemoveLocation(udg_P_Prayer_Bolt7)
Custom script: call RemoveLocation(udg_P_Prayer_Bolt8)
Custom script: call RemoveLocation(udg_P_Prayer_Bolt10)
////這個觸發應該淺顯易懂 就只是移動 然後把聖光彈殺死////
<觸發12>
事件- 部隊 - A unit 甇颱滿
狀況- (Unit-type of (Dying unit) 等於 聖光彈部隊
行動- Set P_Prayer_Bolt9 = (Position of (Dying unit))
特殊效果 - Create a special effect at P_Prayer_Bolt7 using
war3mapImported\NewDirtEXNofire.mdx
特殊效果 - Destroy (Last created special effect)
部隊群組 - Pick every unit in (Units within 300.00 of P_Prayer_Bolt9
matching ((((Matching unit) is alive) 等於真
and ((((Matching unit) is 建築物 等於假
and ((((Matching unit) belongs to an enemy of (Owner of
(Dying unit))) 等於真 and (((Matching unit) has buff
無敵 等於 假and do (Actions)
迴一行動
部隊 - Create 1 萬用隱藏施法者 for (Owner of (Dying unit)) at
P_Prayer_Bolt9 facing 預設 degrees
部隊 - Cause (Last created unit) to damage (Picked unit), dealing
(50.00 + (50.00 x (Real((Level of 聖光彈 for
U_Prayer_Bolt1))))) damage of attack typ混沌 and
damage type 強化
-----------------------------------
這樣 就完成了!!!
來看影片吧 (手好痠...)
這次準備了7個影片 (好多阿...)
1. 一個聖光彈施放
http://www.youtube.com/watch?v=5XUEdJlqpHQ
2. 兩個聖光彈施放
http://www.youtube.com/watch?v=JmyWmW3DeVY
3. 三個聖光彈施放
http://www.youtube.com/watch?v=WgjX1E_lcoU
4. 四個聖光彈施放
http://www.youtube.com/watch?v=zMj67ziMgLY
5. 四個聖光彈施放(2) 我差點打成5個 = ="
http://www.youtube.com/watch?v=35Rx45A3fks
6. 四個聖光彈施放(3)
http://www.youtube.com/watch?v=W9C8OArydGE
7. 四個聖光彈施放(4)
http://www.youtube.com/watch?v=QiZuaXQyYK0
--------------------
最後兩個影片已補上~ (_ _)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.10.40
推
01/19 16:02, , 1F
01/19 16:02, 1F
推
01/19 16:03, , 2F
01/19 16:03, 2F
推
01/19 16:03, , 3F
01/19 16:03, 3F
推
01/19 16:07, , 4F
01/19 16:07, 4F
可以阿 但是會稍微麻煩一些就是了
※ 編輯: sapphireBOB 來自: 140.113.10.40 (01/19 16:08)
推
01/19 16:08, , 5F
01/19 16:08, 5F
推
01/19 16:09, , 6F
01/19 16:09, 6F
推
01/19 16:11, , 7F
01/19 16:11, 7F
不會呀 我只是沒有弄額外效果 先照著不可能的boss的方向作而已
我之後會加入額外效果:
每一顆聖光彈存在可以增加5點防禦
每投射一發效果會消失 但是可以回復生命力(60/80/100/120)點
這樣就還ok了
※ 編輯: sapphireBOB 來自: 140.113.10.40 (01/19 16:14)
→
01/19 16:12, , 8F
01/19 16:12, 8F
這樣就跟我以前的技能有點重複...Orz||||
推
01/19 16:12, , 9F
01/19 16:12, 9F
→
01/19 16:12, , 10F
01/19 16:12, 10F
ok的! 在原觸發中Move每一顆的距離從180-->"你要的距離"
→
01/19 16:13, , 11F
01/19 16:13, 11F
※ 編輯: sapphireBOB 來自: 140.113.10.40 (01/19 16:16)
※ 編輯: sapphireBOB 來自: 140.113.10.40 (01/19 16:30)
推
01/19 16:51, , 12F
01/19 16:51, 12F
推
01/19 16:55, , 13F
01/19 16:55, 13F
推
01/19 17:12, , 14F
01/19 17:12, 14F
→
01/19 17:15, , 15F
01/19 17:15, 15F
推
01/19 17:17, , 16F
01/19 17:17, 16F
推
01/19 17:22, , 17F
01/19 17:22, 17F
推
01/19 17:40, , 18F
01/19 17:40, 18F
推
01/19 17:42, , 19F
01/19 17:42, 19F
→
01/19 17:48, , 20F
01/19 17:48, 20F
→
01/19 17:59, , 21F
01/19 17:59, 21F
→
01/19 19:17, , 22F
01/19 19:17, 22F
→
01/19 19:18, , 23F
01/19 19:18, 23F
對噗擠嘛
沒辦法 OS 一整個就是open set
我是渺小的WEer
→
01/19 19:49, , 24F
01/19 19:49, 24F
※ 編輯: sapphireBOB 來自: 140.113.10.40 (01/19 21:48)
→
01/19 22:08, , 25F
01/19 22:08, 25F
→
01/19 22:14, , 26F
01/19 22:14, 26F
→
01/19 22:25, , 27F
01/19 22:25, 27F
WarCraft 近期熱門文章
PTT遊戲區 即時熱門文章
32
51