攻击伤害的计算

攻击造成的伤害类型有哪些以及游戏后端怎样计算这些伤害呢?

伤害类型主要包括:

普通攻击

技能攻击

高级属性带来的伤害:暴击,增伤(百分比伤害),反伤等。

伤害计算主要包括:

攻防血公式计算伤害
直接伤害(固定伤害或百分比伤害)
攻防血公式计算伤害+直接伤害

计算伤害的类型主要又可以分为两种:

一、走攻防血伤害计算流程的函数接口

bool SceneEntryPk::AttackMe(SceneEntryPk *pAtt, const Cmd::stAttackMagicUserCmd *rev)
{
    …
    dam = attack * attack / (attack + 2* defence);
    …
    if (this->getSceneUser()) {
        this->getSceneUser()->DirectDamage(pAtt, dam);
    } else if (this->getSceneNpc()) {
         this->getSceneNpc()->DirectDamage(pAtt, dam);
    }
    …
    return true;
}

二、走直接伤害计算流程的函数接口
int SceneEntryPk::DirectDamage(SceneEntryPk *pAtt, const int &dam)
{
    …
    return dam;
}

 

几乎所有的伤害,包括玩家对npc的伤害,npc对玩家的伤害,玩家对玩家的伤害,都可以通过上述两个接口来实现。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值