您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetInt32Value函数代码示例

51自学网 2021-06-01 21:09:33
  C++
这篇教程C++ GetInt32Value函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetInt32Value函数的典型用法代码示例。如果您正苦于以下问题:C++ GetInt32Value函数的具体用法?C++ GetInt32Value怎么用?C++ GetInt32Value使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: SetInt32Value

// Added by AHBot// Like SetItemRandomProperties() but no call of SetState() because there is no owner of the itemvoid Item::SetItemRandomPropertiesNoUpdate(int32 randomPropId){    if(!randomPropId)        return;    if(randomPropId > 0)    {        ItemRandomPropertiesEntry const *item_rand = sItemRandomPropertiesStore.LookupEntry(randomPropId);        if(item_rand)        {            if(GetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID) != int32(item_rand->ID))            {                SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID,item_rand->ID);            }            for(uint32 i = PROP_ENCHANTMENT_SLOT_2; i < PROP_ENCHANTMENT_SLOT_2 + 3; ++i)                SetEnchantmentNoUpdate(EnchantmentSlot(i),item_rand->enchant_id[i - PROP_ENCHANTMENT_SLOT_2],0,0);        }    }    else    {        ItemRandomSuffixEntry const *item_rand = sItemRandomSuffixStore.LookupEntry(-randomPropId);        if(item_rand)        {            if( GetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID) != -int32(item_rand->ID) ||                !GetItemSuffixFactor())            {                SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID,-int32(item_rand->ID));                UpdateItemSuffixFactor();            }            for(uint32 i = PROP_ENCHANTMENT_SLOT_0; i < PROP_ENCHANTMENT_SLOT_0 + 3; ++i)                SetEnchantmentNoUpdate(EnchantmentSlot(i),item_rand->enchant_id[i - PROP_ENCHANTMENT_SLOT_0],0,0);        }    }}
开发者ID:klaas-netherstorm,项目名称:Mangos,代码行数:37,


示例2: SetItemRandomProperties

void Item::SetItemRandomProperties(int32 randomPropId){    if (!randomPropId)        return;    if (randomPropId > 0)    {        ItemRandomPropertiesEntry const* item_rand = sItemRandomPropertiesStore.LookupEntry(randomPropId);        if (item_rand)        {            if (GetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID) != int32(item_rand->ID))            {                SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID, item_rand->ID);                SetState(ITEM_CHANGED);            }            for (uint32 i = PROP_ENCHANTMENT_SLOT_0; i < PROP_ENCHANTMENT_SLOT_0 + 3; ++i)                SetEnchantment(EnchantmentSlot(i), item_rand->enchant_id[i - PROP_ENCHANTMENT_SLOT_0], 0, 0);        }    }}
开发者ID:Ghaster,项目名称:mangos-classic,代码行数:20,


示例3: float

void Player::UpdateAttackPowerAndDamage(bool ranged){    float val2 = 0.0f;    float level = float(getLevel());    ChrClassesEntry const* entry = sChrClassesStore.AssertEntry(getClass());    UnitMods unitMod = ranged ? UNIT_MOD_ATTACK_POWER_RANGED : UNIT_MOD_ATTACK_POWER;    uint16 index = UNIT_FIELD_ATTACK_POWER;    uint16 index_mod = UNIT_FIELD_ATTACK_POWER_MOD_POS;    uint16 index_mult = UNIT_FIELD_ATTACK_POWER_MULTIPLIER;    if (ranged)    {        index = UNIT_FIELD_RANGED_ATTACK_POWER;        index_mod = UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS;        index_mult = UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER;    }    if (!HasAuraType(SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT))    {        if (!ranged)        {            float strengthValue = std::max(GetStat(STAT_STRENGTH) * entry->AttackPowerPerStrength, 0.0f);            float agilityValue = std::max(GetStat(STAT_AGILITY) * entry->AttackPowerPerAgility, 0.0f);            SpellShapeshiftFormEntry const* form = sSpellShapeshiftFormStore.LookupEntry(GetShapeshiftForm());            // Directly taken from client, SHAPESHIFT_FLAG_AP_FROM_STRENGTH ?            if (form && form->Flags & 0x20)                agilityValue += std::max(GetStat(STAT_AGILITY) * entry->AttackPowerPerStrength, 0.0f);            val2 = strengthValue + agilityValue;        }        else            val2 = (level + std::max(GetStat(STAT_AGILITY), 0.0f)) * entry->RangedAttackPowerPerAgility;    }    else    {        int32 minSpellPower = GetInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS);        for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)            minSpellPower = std::min(minSpellPower, GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i));        val2 = CalculatePct(float(minSpellPower), GetFloatValue(PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT));    }    SetModifierValue(unitMod, BASE_VALUE, val2);    float base_attPower  = GetModifierValue(unitMod, BASE_VALUE) * GetModifierValue(unitMod, BASE_PCT);    float attPowerMod = GetModifierValue(unitMod, TOTAL_VALUE);    float attPowerMultiplier = GetModifierValue(unitMod, TOTAL_PCT) - 1.0f;    //add dynamic flat mods    if (!ranged)    {        AuraEffectList const& mAPbyArmor = GetAuraEffectsByType(SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR);        for (AuraEffectList::const_iterator iter = mAPbyArmor.begin(); iter != mAPbyArmor.end(); ++iter)            // always: ((*i)->GetModifier()->m_miscvalue == 1 == SPELL_SCHOOL_MASK_NORMAL)            attPowerMod += int32(GetArmor() / (*iter)->GetAmount());    }    SetInt32Value(index, (uint32)base_attPower);            //UNIT_FIELD_(RANGED)_ATTACK_POWER field    SetInt32Value(index_mod, (uint32)attPowerMod);          //UNIT_FIELD_(RANGED)_ATTACK_POWER_MOD_POS field    SetFloatValue(index_mult, attPowerMultiplier);          //UNIT_FIELD_(RANGED)_ATTACK_POWER_MULTIPLIER field    Pet* pet = GetPet();                                //update pet's AP    Guardian* guardian = GetGuardianPet();    //automatically update weapon damage after attack power modification    if (ranged)    {        UpdateDamagePhysical(RANGED_ATTACK);        if (pet && pet->IsHunterPet()) // At ranged attack change for hunter pet            pet->UpdateAttackPowerAndDamage();    }    else    {        UpdateDamagePhysical(BASE_ATTACK);        if (Item* offhand = GetWeaponForAttack(OFF_ATTACK, true))            if (CanDualWield() || offhand->GetTemplate()->GetFlags3() & ITEM_FLAG3_ALWAYS_ALLOW_DUAL_WIELD)                UpdateDamagePhysical(OFF_ATTACK);        if (HasAuraType(SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER) ||            HasAuraType(SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER) ||            HasAuraType(SPELL_AURA_OVERRIDE_SPELL_POWER_BY_AP_PCT))            UpdateSpellDamageAndHealingBonus();        if (pet && pet->IsPetGhoul()) // At melee attack power change for DK pet            pet->UpdateAttackPowerAndDamage();        if (guardian && guardian->IsSpiritWolf()) // At melee attack power change for Shaman feral spirit            guardian->UpdateAttackPowerAndDamage();    }}
开发者ID:brecky,项目名称:TrinityCore,代码行数:92,


示例4: SetStatInt32Value

void Player::UpdateSpellDamageAndHealingBonus(){    // Magic damage modifiers implemented in Unit::SpellDamageBonusDone    // This information for client side use only    // Get healing bonus for all schools    SetStatInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS, SpellBaseHealingBonusDone(SPELL_SCHOOL_MASK_ALL));    // Get damage bonus for all schools    Unit::AuraEffectList const& modDamageAuras = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_DONE);    for (uint16 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)    {        SetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i, std::accumulate(modDamageAuras.begin(), modDamageAuras.end(), 0, [i](int32 negativeMod, AuraEffect const* aurEff)        {            if (aurEff->GetAmount() < 0 && aurEff->GetMiscValue() & (1 << i))                negativeMod += aurEff->GetAmount();            return negativeMod;        }));        SetStatInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, SpellBaseDamageBonusDone(SpellSchoolMask(1 << i)) - GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i));    }    if (HasAuraType(SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT))    {        UpdateAttackPowerAndDamage();        UpdateAttackPowerAndDamage(true);    }}
开发者ID:brecky,项目名称:TrinityCore,代码行数:25,



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


C++ GetIntFromConfig函数代码示例
C++ GetInt函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。