查看: 4041|回复: 15

[有事请教] 如何設定獲得A狀態時,所施傷害+50%?

[复制链接]
梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
发表于 2019-3-2 14:51:18 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
如題
如何設定獲得A狀態時,所施傷害+50%? 不是atk+50%
物理傷害率 魔法傷害率 那邊只能設定「所受」傷害率...
梦石
0
星屑
430
在线时间
56 小时
注册时间
2019-2-20
回帖
28
发表于 2019-3-4 13:56:34 | 显示全部楼层
是不是这个? 1.jpg
回复

使用道具 举报

梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
 楼主| 发表于 2019-3-4 19:11:10 | 显示全部楼层
這個我試過了,這個是「受到」的傷害增加或減少...
不是本身「所施」傷害增加或減少...

点评

狀態,特性,能力值.通常能力值. 攻擊*150%.  发表于 2019-3-4 22:19
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2019-3-4 20:56:39 | 显示全部楼层
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

评分

参与人数 1赞 +1 收起 理由
動感小野菊 + 1

查看全部评分

回复

使用道具 举报

梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
 楼主| 发表于 2019-3-4 23:00:02 | 显示全部楼层
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 )


点评

((a.isStateAffected(11) ? 1.5 : 1 ) - (a.isStateAffected(102) ? 0.5 : 1 ) )* (a.atk * 3 - b.def * 2 ) 只存在11號狀態時,又會變成 0.5 倍傷害, 1.5 - 1 = 0.5  发表于 2019-3-5 15:55
((a.isStateAffected(11) ? 1.5 : 1 ) - (a.isStateAffected(102) ? 0.5 : 1 ) )* (a.atk * 3 - b.def * 2 ) 貌似這樣一開始如果不存在11號.102號狀態時,傷害會變 0 ... 1 - 1 = 0  发表于 2019-3-5 15:50
((a.isStateAffected(11) ? 1.5 : 1 ) +(a.isStateAffected(102) ? 0.5 : 1 ) )* (a.atk * 3 - b.def * 2 ) 貌似這樣如果不存在11號.102號狀態 傷害一開始就又變成 2 倍了... 1 + 1  发表于 2019-3-5 15:46
((a.isStateAffected(11) ? 1.5 : 1 ) -(a.isStateAffected(102) ? 0.5 : 1 ) )* (a.atk * 3 - b.def * 2 )  发表于 2019-3-5 12:02
((a.isStateAffected(11) ? 1.5 : 1 ) +(a.isStateAffected(102) ? 0.5 : 1 ) )* (a.atk * 3 - b.def * 2 )  发表于 2019-3-5 09:53
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2019-3-5 18:56:03 | 显示全部楼层
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
那比較麻煩


评分

参与人数 1赞 +1 收起 理由
動感小野菊 + 1

查看全部评分

回复 0 1

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-3-5 19:09:12 | 显示全部楼层
本帖最后由 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 )

萌新路过..看不懂问题..随便码的..

评分

参与人数 1赞 +1 收起 理由
動感小野菊 + 1

查看全部评分

回复

使用道具 举报

梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
 楼主| 发表于 2019-3-5 21:38:13 | 显示全部楼层
(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
感謝二位大佬協助!!




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部