当前位置: 首页>>代码示例>>C#>>正文


C# Character.BeRevHit方法代码示例

本文整理汇总了C#中Character.BeRevHit方法的典型用法代码示例。如果您正苦于以下问题:C# Character.BeRevHit方法的具体用法?C# Character.BeRevHit怎么用?C# Character.BeRevHit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Character的用法示例。


在下文中一共展示了Character.BeRevHit方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddTdam

    public static int AddTdam(Character attacker, Character target, int damage, bool check, float tdamBaseValue, float tdamPerValue, NfSkill.TDamageType tdamType, string HitEffect)
    {
        float tdam = tdamBaseValue;
        float dam = 0f;
        float per = tdamPerValue;

        switch (tdamType)
        {
            case TDamageType.LowHPHighDam:
                {
                    dam += damage * (tdam - (float)target.HP / (float)target.MaxHp);
                } break;
            case TDamageType.Real:
                {
                    dam += damage + tdam;
                } break;
            case TDamageType.HuanXue:
                {
                    bool can = true;
                    if (target.isMonster)
                    {
                        if (target.monsterType != Monster.MonsterType.Normal)
                        {
                            can = false;
                        }
                    }
                    if (can)
                    {
                        dam = damage + (int)(tdam * target.HP);

                        if (!check)
                        {
                            float val = tdam * attacker.HP;
                            attacker.BeRevHit(target, (int)val, HitEffect, null, HpLabelContainer.HitType.HuanXue);
                        }
                    }
                    else
                    {
                        dam = damage;
                    }
                } break;
            case TDamageType.PercentHPTrigger:
                {
                    dam += damage;
                    float cper = (float)target.HP / (float)target.MaxHp;
                    if (cper <= per)
                        dam += tdam;
                } break;
            case TDamageType.AddPercentHPDam:
                {
                    bool can = true;
                    if (target.isMonster)
                    {
                        if (target.monsterType != Monster.MonsterType.Normal)
                        {
                            can = false;
                        }
                    }
                    if (!can)
                    {
                        dam += damage;
                    }
                    else
                    {
                        dam += damage + tdam * target.MaxHp;
                    }
                } break;
            default:
                {
                    dam = damage;
                }break;
        }
        return (int)dam;
    }
开发者ID:wenhu2010,项目名称:mygame,代码行数:74,代码来源:NfSkill.cs

示例2: HandleBeHit

    // 被攻击时执行
    public override int HandleBeHit(Character attacker, int damage, int addAnger)
    {
        owner.PlayEffect(HitEffect, 3f);
        owner.PlaySound(Sound);

        if (damage == 0)
            return damage;

        owner.ShowXiShou();

        int rdam = (int)(TotalValue + damage * Percent);
        attacker.BeRevHit(owner, rdam, HitEffect, "hit", HpLabelContainer.HitType.FanShang);

        --count;
        if (count <= 0)
            OnEnd();
        return 0;
    }
开发者ID:wenhu2010,项目名称:mygame,代码行数:19,代码来源:NfBuff.cs

示例3: AddDamage

    public int AddDamage(Character attacker, int damage)
    {
        float dam = damage;
        JsonData valueJson = null;
        JsonData growJson = null;
        try
        {
            valueJson = JsonMapper.ToObject(buffdata.Value);
            growJson = JsonMapper.ToObject(buffdata.Grow);
        }
        catch (System.Exception)
        {
        #if UNITY_EDITOR
            MessageBox.Show("buff参数错误", "buff(" + id + ") " + "Value和Grow参数错误");
            Debug.Log("buff(" + id + ") " + "Value和Grow参数错误");
        #endif
            return damage;
        }
        if (valueJson.IsArray && growJson.IsArray)
        {
            dam = 0f;
            for (int i = 0; i < valueJson.Count; ++i)
            {
                int t = (int)valueJson[i][0];
                float v = (float)valueJson[i][1];
                v = v + (float)growJson[i] * lv;

                switch ((DamageType)t)
                {
                    case DamageType.PercentHPDam:
                        {
                            dam += damage * (v - (float)owner.HP / (float)owner.MaxHp);
                        } break;
                    case DamageType.Real:
                        {
                            dam += damage + v;
                        } break;
                    case DamageType.HuanXue:
                        {
                            if (owner.isMonster)
                            {
                                if (owner.monsterType == Monster.MonsterType.Boss)
                                {
                                    dam += damage;
                                }
                                else
                                {
                                    dam += damage + v * owner.HP;
                                    float val = v * attacker.HP;
                                    attacker.BeRevHit(owner, (int)val, HitEffect);
                                }
                            }
                            else
                            {
                                dam += damage + v * owner.HP;
                                float val = v * attacker.HP;
                                attacker.BeRevHit(owner, (int)val, HitEffect);
                            }
                        } break;
                    case DamageType.PercentHPTrigger:
                        {
                            dam += damage;
                            float per = (float)owner.HP / (float)owner.MaxHp;
                            if (per <= Percent/100f)
                                dam += v;
                        } break;
                }
            }
        }
        return (int)dam;
    }
开发者ID:wenhu2010,项目名称:mygame,代码行数:71,代码来源:NfBuff.cs


注:本文中的Character.BeRevHit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。