Project1

标题: 如何設定獲得A狀態時,所施傷害+50%? [打印本页]

作者: 動感小野菊    时间: 2019-3-2 14:51
标题: 如何設定獲得A狀態時,所施傷害+50%?
如題
如何設定獲得A狀態時,所施傷害+50%? 不是atk+50%
物理傷害率 魔法傷害率 那邊只能設定「所受」傷害率...
作者: kyokou44    时间: 2019-3-4 13:56
是不是这个?
作者: 動感小野菊    时间: 2019-3-4 19:11
這個我試過了,這個是「受到」的傷害增加或減少...
不是本身「所施」傷害增加或減少...
作者: tseyik    时间: 2019-3-4 20:56
Math.random() * N

(Math.random() * 3) + 1
給於傷1/2/3


x擁有状態ID成立傷害式m,不成立傷害式n
x.isStateAffected(ステートID) ? m : n

擁有状態ID3時傷害2倍
a.mat * (b.isStateAffected(3) ? 2 : 1)

其他請看
ダメージ計算式の小ネタ
https://tm.lucky-duet.com/viewtopic.php?f=56&t=647
作者: 動感小野菊    时间: 2019-3-4 23:00
tseyik 发表于 2019-3-4 20:56
Math.random() * N

(Math.random() * 3) + 1


現在出現一個問題
我設a如果存在11號狀態時傷害 * 1.5
        如果存在102號狀態時傷害 * 0.5
        如果同時存在11號、102號狀態時,一加一減,傷害變為正常值,變為1倍,但是測試後傷害數字
        貌似變為0.75倍,是我下面公式寫法不對嗎?

(a.isStateAffected(11) ? 1.5 : 1 ) * (a.isStateAffected(102) ? 0.5 : 1 ) * (a.atk * 3 - b.def * 2 )



作者: tseyik    时间: 2019-3-5 18:56
11號狀態時傷害 * 1.5
102號狀態時傷害 * 0.5

有以下可能
只有有11=1.5
只有102=0.5
都沒有=1
都有=0.75(1.5/*0.5)
即是你的原式即
(a.isStateAffected(11) ? 1.5 : 1 ) * (a.isStateAffected(102) ? 0.5 : 1 ) * (a.atk * 3 - b.def * 2 )

但你希望
都有=1
那比較麻煩



作者: soulsaga    时间: 2019-3-5 19:09
本帖最后由 soulsaga 于 2019-3-5 19:26 编辑

(a.isStateAffected(11)  && a.isStateAffected(102)  ? 1 : a.isStateAffected(11) ? 1.5 : a.isStateAffected(102) ? 0.5 : 1 ) * (a.atk * 3 - b.def * 2 )

萌新路过..看不懂问题..随便码的..
作者: 動感小野菊    时间: 2019-3-5 21:38
(a.isStateAffected(11)  && a.isStateAffected(102)  ? 1 : a.isStateAffected(11) ? 1.5 : a.isStateAffected(102) ? 0.5 : 1 ) * (a.atk * 3 - b.def * 2 )

這個寫法ok了! 經測試後沒有bug
感謝二位大佬協助!!









欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1