楼主:
ghostmote (ghostmote)
2017-08-31 15:18:37※ 引述《reinforce15 (可鲁贝洛斯)》之铭言:
: ※ [本文转录自 Gossiping 看板 #1Pfw8CCA ]
: 作者: reinforce15 (可鲁贝洛斯) 看板: Gossiping
: 标题: Re: [问卦] 宁宁鸡写程式时是用space还是tab缩排
: 时间: Thu Aug 31 13:43:38 2017
: ※ 引述《justwe5566 (杰士塔纱路的老公)》之铭言:
: //
: void DestructibleActor::ReceiveDamage(float sourceDamage)
: {
: //
: auto resolvedDamage = sourceDamage;
: for (const auto& debuf:m_debufs)
: {
: resolvedDamage = debuf.ApplyToDamage(resolvedDamage);
: m_currentHealth -= resolvedDamage
: if (m_currentHealth <= 0.f)
: {
: m_currentHealth = 0.f;
: DestroyMe();
: }
: }
: }
: //
: void DestructibleActor::ReceiveDamage(float sourceDamage)
: {
: //
: auto resolvedDamage = sourceDamage;
: for (const auto& debuf:m_debufs)
: {
: resolvedDamage = debuf.ApplyToDamage(resolvedDamage);
: }
: m_currentHealth -= resolvedDamage
: if (m_currentHealth <= 0.f)
: {
: m_currentHealth = 0.f;
: DestroyMe();
: }
: }
恕删
虽然照这样修改可以避免DestroyMe()后再次呼叫
但是这样一来和原本的逻辑有些许差异
如果debuf.ApplyToDamage后得出的结果会有负值
就有可能造成原本会死亡的结果变成不会
试想原本HP有100
第一个Debuf 扣 200
第二个Debuf 反而加 150
原本的逻辑在第一次伤害后就会触发 DestroyMe => 角色死亡
但修改后最后HP还剩50 => 角色存活
一点浅见
作者:
lf2597 (洒满葱花)
2017-08-31 15:19:00debug版
作者:
linzero (【林】)
2017-08-31 15:21:00有的游戏是一定时间内持续低于零才判断死亡,而非一低于零即刻判死。所以是可以把血补回来,比如用外挂或键盘精灵之类的
作者:
SuperSg (萌翻天的时代来啦°▽°)
2017-08-31 15:22:00上c洽长姿势
作者:
bubuegg (优良的蛋)
2017-08-31 15:22:00错版
作者:
jeeyi345 (letmein)
2017-08-31 15:24:00看动画只看得懂美少女看不懂内涵 帮QQ
作者:
genesic (嗯?)
2017-08-31 15:27:00debuf可以补血的话会逼死很多命名强迫症
作者:
emptie ([ ])
2017-08-31 15:28:00debuff有的是双面刃吧 像是回血但是大幅度减少输出之类的
作者:
diabolica (打回大師å†æ”¹ID)
2017-08-31 15:28:00快推
作者: aspdaspd (勒勒) 2017-08-31 15:33:00
取名都叫debufs了 负面效果才放这个container吧
作者:
genesic (嗯?)
2017-08-31 15:33:00这里的debuff看起来比较像是会放大受到的伤害因为是在ReceiveDamage的时候用sourceDamage下去计算
作者: aspdaspd (勒勒) 2017-08-31 15:34:00
如果一个状态同时有增益跟减益 那同理也要有一个m_bufs
楼主:
ghostmote (ghostmote)
2017-08-31 15:35:00如果这个function的原作者不是自己,永远不要相信变量名
作者:
genesic (嗯?)
2017-08-31 15:36:00也不是说算出来一定不会是负值,只是说有命名强迫症的人会写到全身发痒XD
作者:
arrenwu (键盘的战鬼)
2017-08-31 15:46:00这动画的内涵不就是美少女吗? 怎么会说看不懂
作者:
tw15 (巴拉巴拉)
2017-08-31 15:53:00血线以下不死可以让其他伙伴过去救援 增加互动性或者让玩家可以课金让npc来救援 增加专案不被砍性