[WE] 觸發技能分享-《浸透勁》
這系列停了好久啊 囧
也算是行之有年了
因為停止做地圖的關係所以生產觸發技能的速度也變非常慢了
想當年是希望拋磚引玉讓PTT對WE的討論熱烈一點
也算是有收到功效
不過最近感覺好像又冷掉了啊
大家一起來加入WE的行列吧
偷偷預告 目前正在撰寫"第一次做TD就上掱"
敬請期待XD
這次的技能名稱叫"浸透勁"
相信玩過某逆滲透遊戲的玩家都對這招不陌生
效果就是對於防禦越高的敵人造成的傷害越大
實際上這個技能的作法是之前在做蜘蛛地雷時靈光一閃的
因為WE基本上無法抓取一個目標的防禦值
這時候我想到
就算無法抓取防禦值,但是如果給他一個傷害,再去判定受傷的程度
不就也能得到目標防禦力的高低了嗎?
因此這招就產生了
原理很簡單,先給予目標一個小傷害,去判斷受傷的幅度
然後利用這個傷害的比率來加成初始傷害
不過這個技能還是花了我很多的時間
因為我在思考如何產生適當的傷害幅度
那麼我們就進入實作的部份
範例地圖: http://0rz.tw/2rfqq
另外附上某人要求的螃蟹上杉(語意不明)
材料:
指向性瞬發技能 一個 - 本範例使用暴雷擊,帶有暈眩1秒的效果。
沒了 囧
變數:
TempReal(陣列)
本範例將各計算分開為數個變數
以方便在bbs內排版
觸發:
Jintoujin
事件
部隊 - A unit 使技能生效
條件
(Ability being cast) 等於 浸透勁
行動
Set TempReal[1] = (生命值 of (Target unit of ability being cast))
部隊 - Cause (Triggering unit) to damage (Target unit of ability
being cast), dealing 40.00 damage of attack type 混沌 and damage
type 普通
Set TempReal[2] = (生命值 of (Target unit of ability being cast))
部隊 - Set life of (Target unit of ability being cast) to TempReal[1]
//先記錄目標生命值,給予一個物理傷害,再記錄傷害後的生命值
//不知道為什麼這樣是物理傷害的請去看精華區
Set TempReal[3] = (TempReal[1] - TempReal[2])
If (All Conditions are True) then do (Then Actions) else do (Else
Actions)
若 - 條件
TempReal[3] 大於 1.50
//給這個判定的原因在於,這個物理傷害會被硬化外皮的技能抵擋
//如果沒有這個判定,若是硬化外皮發動就直接受到爆表的傷害了= ="
則 - 動作 1
Set TempReal[4] = (57.30 x (1.00 - (TempReal[3] / 40.00)))
Set TempReal[5] = (1.00 - (Sin(TempReal[4])))
Set TempReal[6] = (20.00 + (80.00 x (Real((Level of 浸透勁
for (Triggering unit))))))
Set TempReal[7] = (TempReal[6] / TempReal[5])
//這邊牽扯到麻煩的數學運算,內容下記
部隊 - Cause (Triggering unit) to damage (Target unit of
ability being cast), dealing TempReal[7] damage of
attack type 法術 and damage type 通用
否則 - 動作 2
Set TempReal[4] = (20.00 + (80.00 x (Real((Level of 浸透勁
for (Triggering unit))))))
部隊 - Cause (Triggering unit) to damage (Target unit of
ability being cast), dealing TempReal[4] damage of
attack type 法術 and damage type 通用
關於數學運算方面
其實最一開始的傷害害公式是 D = A/n
D = 實際傷害
A = 技能初始傷害
n = 傷害承受率
基本上這個公式可以做到防越高傷害越大
但是問題在於這是一個等比擴散函數,Lim = ∞
n→0
假如馬場信房開不死鬼美濃防+70的情況下
被這招一打傷害高達1559,補一刀就死了
另外在防100的情況下傷害高達8000
如果放在一般遊戲裡肯定出事的
所以經過許久的思考,將公式改成D = A/[1-sin(1-n)]
另外WE裡的sin是用"度"當單位
而我的公式中sin是用"弳度"當單位
所以把(1-n)再乘上 57.3 (180/π) 轉換成度,讓WE能夠運算
最後就能得出一個收縮函數了
Lim 260/[1-sin(1-n)] = 1635.22
n→0
而到達這個數字是在防9271的時候的事了
廢話了那麼多,其實沒什麼意義
基本上整串觸發重點在兩個部份
一個是紅色的偵測防禦力用傷害
這個傷害最好是比遊戲中的所有硬化外皮減傷都來得小
另一個是藍色的初始傷害計算公式
範例中為20 + 80*技能等級,所以是100/180/260
另外附上260的初始傷害時各防禦力所造成的傷害
防禦 傷害
-20 157.39
-10 179.93
0 260
10 410.1
20 540.54
30 648.38
40 740.74
50 817.61
60 881.36
70 938.63
80 984.85
90 1027.67
100 1065.57
1000 1556.89
10000 1635.22
結論來說,整篇文章只有P.2~P.4有看的價值
其他部份都是廢話
歡迎各位跳著看 \囧/
--
███ ︵︵︵︵ █◤ ◢█◤ ちから
██ /\|||█ ◢█◤ 「ひとりでは耐え切れぬ 雷 でもきっと、
▄█│‵╯︶︶| ██◤ # ふたりなら大丈夫私は信じる!」
▔█ ╲ ) ∕█████◣ +
+ █ ╮ - │██◣ ◥◥█◣ ◢ 第四巻 27ページ…
▂▄▆█│ │██◤* ◢████◣ 雷神の系譜 ψWix
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.79.16
推
02/01 16:46, , 1F
02/01 16:46, 1F
→
02/01 16:48, , 2F
02/01 16:48, 2F
※ 編輯: wix3000 來自: 124.8.79.16 (02/01 16:48)
→
02/01 16:49, , 3F
02/01 16:49, 3F
推
02/01 17:06, , 4F
02/01 17:06, 4F
推
02/01 17:07, , 5F
02/01 17:07, 5F
推
02/01 17:14, , 6F
02/01 17:14, 6F
推
02/01 17:18, , 7F
02/01 17:18, 7F
推
02/01 17:37, , 8F
02/01 17:37, 8F
→
02/01 17:37, , 9F
02/01 17:37, 9F
推
02/01 17:46, , 10F
02/01 17:46, 10F
推
02/01 17:47, , 11F
02/01 17:47, 11F
推
02/01 17:48, , 12F
02/01 17:48, 12F
推
02/01 17:48, , 13F
02/01 17:48, 13F
推
02/01 17:50, , 14F
02/01 17:50, 14F
推
02/01 17:50, , 15F
02/01 17:50, 15F
推
02/01 17:56, , 16F
02/01 17:56, 16F
推
02/01 18:03, , 17F
02/01 18:03, 17F
推
02/01 18:03, , 18F
02/01 18:03, 18F
推
02/01 18:04, , 19F
02/01 18:04, 19F
→
02/01 18:05, , 20F
02/01 18:05, 20F
推
02/01 18:05, , 21F
02/01 18:05, 21F
推
02/01 18:40, , 22F
02/01 18:40, 22F
推
02/01 18:55, , 23F
02/01 18:55, 23F
推
02/01 19:00, , 24F
02/01 19:00, 24F
推
02/01 19:06, , 25F
02/01 19:06, 25F
推
02/01 19:10, , 26F
02/01 19:10, 26F
推
02/01 19:26, , 27F
02/01 19:26, 27F
推
02/01 20:17, , 28F
02/01 20:17, 28F
推
02/01 20:56, , 29F
02/01 20:56, 29F
推
02/01 21:40, , 30F
02/01 21:40, 30F
推
02/01 21:49, , 31F
02/01 21:49, 31F
→
02/01 23:03, , 32F
02/01 23:03, 32F
→
02/02 00:02, , 33F
02/02 00:02, 33F
推
02/02 00:05, , 34F
02/02 00:05, 34F
推
02/02 00:24, , 35F
02/02 00:24, 35F
推
02/02 00:46, , 36F
02/02 00:46, 36F
推
02/02 00:50, , 37F
02/02 00:50, 37F
推
02/02 02:34, , 38F
02/02 02:34, 38F
推
02/02 08:59, , 39F
02/02 08:59, 39F
→
02/02 10:44, , 40F
02/02 10:44, 40F
推
02/02 12:20, , 41F
02/02 12:20, 41F
推
02/02 12:58, , 42F
02/02 12:58, 42F
推
02/02 19:05, , 43F
02/02 19:05, 43F
推
02/02 22:52, , 44F
02/02 22:52, 44F