diff options
| author | azazel <none@none> | 2010-08-26 15:54:56 +0600 |
|---|---|---|
| committer | azazel <none@none> | 2010-08-26 15:54:56 +0600 |
| commit | 5fa14f58dceb3be78a5964c09eb17dc358c10c7b (patch) | |
| tree | 1c7b2c1d7f19ca7d56a602b023a1d3b724f2e72c /src/server/game/Entities | |
| parent | 6036166716d2d2cdfa0f5c27f8cfb7e1e65b0c8f (diff) | |
Core/Cleanup:
* move repeating code into separate method for storing locale strings in ObjectMgr (copy/paste sucks, you know)
* fix 'signed/unsigned' warnings (at least in VS)
* fix some other warnings and cleanup relative code
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.h | 10 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/ItemPrototype.h | 6 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/StatSystem.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 67 |
6 files changed, 49 insertions, 52 deletions
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index c476471c4fb..6fce4565222 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -205,19 +205,19 @@ typedef UNORDERED_MAP<uint16, CreatureBaseStats> CreatureBaseStatsMap; struct CreatureLocale { - std::vector<std::string> Name; - std::vector<std::string> SubName; + StringVector Name; + StringVector SubName; }; struct GossipMenuItemsLocale { - std::vector<std::string> OptionText; - std::vector<std::string> BoxText; + StringVector OptionText; + StringVector BoxText; }; struct PointOfInterestLocale { - std::vector<std::string> IconName; + StringVector IconName; }; struct EquipmentInfo diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 2b48c354c90..4dd93e24519 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -537,8 +537,8 @@ union GameObjectValue struct GameObjectLocale { - std::vector<std::string> Name; - std::vector<std::string> CastBarCaption; + StringVector Name; + StringVector CastBarCaption; }; // client side GO show states diff --git a/src/server/game/Entities/Item/ItemPrototype.h b/src/server/game/Entities/Item/ItemPrototype.h index 38f1a2d0dc4..b9563e153cc 100644 --- a/src/server/game/Entities/Item/ItemPrototype.h +++ b/src/server/game/Entities/Item/ItemPrototype.h @@ -735,8 +735,8 @@ struct ItemPrototype struct ItemLocale { - std::vector<std::string> Name; - std::vector<std::string> Description; + StringVector Name; + StringVector Description; }; struct ItemSetNameEntry @@ -747,7 +747,7 @@ struct ItemSetNameEntry struct ItemSetNameLocale { - std::vector<std::string> Name; + StringVector Name; }; // GCC have alternative #pragma pack() syntax and old gcc version not support pack(pop), also any gcc version not support it at some platform diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1375afe68b6..052fb1571a0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15518,15 +15518,15 @@ bool Player::HasQuestForItem(uint32 itemid) const ItemPrototype const *pProto = sObjectMgr.GetItemPrototype(itemid); // 'unique' item - if (pProto->MaxCount && GetItemCount(itemid,true) < pProto->MaxCount) + if (pProto->MaxCount && int32(GetItemCount(itemid, true)) < pProto->MaxCount) return true; // allows custom amount drop when not 0 if (qinfo->ReqSourceCount[j]) { - if (GetItemCount(itemid,true) < qinfo->ReqSourceCount[j]) + if (GetItemCount(itemid, true) < qinfo->ReqSourceCount[j]) return true; - } else if (GetItemCount(itemid,true) < pProto->Stackable) + } else if (int32(GetItemCount(itemid, true)) < pProto->Stackable) return true; } } @@ -15614,13 +15614,9 @@ void Player::SendQuestConfirmAccept(const Quest* pQuest, Player* pReceiver) int loc_idx = pReceiver->GetSession()->GetSessionDbLocaleIndex(); if (loc_idx >= 0) - { if (const QuestLocale* pLocale = sObjectMgr.GetQuestLocale(pQuest->GetQuestId())) - { - if (pLocale->Title.size() > loc_idx && !pLocale->Title[loc_idx].empty()) + if (int(pLocale->Title.size()) > loc_idx && !pLocale->Title[loc_idx].empty()) strTitle = pLocale->Title[loc_idx]; - } - } WorldPacket data(SMSG_QUEST_CONFIRM_ACCEPT, (4 + strTitle.size() + 8)); data << uint32(pQuest->GetQuestId()); diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index 02e7ab3829b..992c7061fd9 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -40,7 +40,7 @@ inline bool _ModifyUInt32(bool apply, uint32& baseValue, int32& amount) else { // Make sure we do not get uint32 overflow. - if (amount > baseValue) + if (amount > int32(baseValue)) amount = baseValue; baseValue -= amount; } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 95beb3b34d6..ba69b702b21 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1091,12 +1091,12 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage *damageInfo, int32 dama // Spell weapon based damage CAN BE crit & blocked at same time if (blocked) { - damageInfo->blocked = uint32(pVictim->GetShieldBlockValue()); + damageInfo->blocked = pVictim->GetShieldBlockValue(); //double blocked amount if block is critical if (pVictim->isBlockCritical()) - damageInfo->blocked+=damageInfo->blocked; - if (damage < damageInfo->blocked) - damageInfo->blocked = damage; + damageInfo->blocked += damageInfo->blocked; + if (damage < int32(damageInfo->blocked)) + damageInfo->blocked = uint32(damage); damage -= damageInfo->blocked; } @@ -1941,7 +1941,7 @@ void Unit::CalcAbsorbResist(Unit *pVictim, SpellSchoolMask schoolMask, DamageEff pVictim->CastCustomSpell(pVictim, 66235, &healAmount, NULL, NULL, true); pVictim->ToPlayer()->AddSpellCooldown(66235,0,time(NULL) + 120); } - else if (remainingHealth < allowedHealth) + else if (remainingHealth < int32(allowedHealth)) { // Reduce damage that brings us under 35% (or full damage if we are already under 35%) by x% uint32 damageToReduce = (pVictim->GetHealth() < allowedHealth) @@ -2203,7 +2203,7 @@ void Unit::CalcAbsorbResist(Unit *pVictim, SpellSchoolMask schoolMask, DamageEff RemainingDamage += auraAbsorbMod * TotalAbsorb / 100; // Apply death prevention spells effects - if (preventDeathSpell && RemainingDamage >= pVictim->GetHealth()) + if (preventDeathSpell && RemainingDamage >= int32(pVictim->GetHealth())) { switch(preventDeathSpell->SpellFamilyName) { @@ -2930,44 +2930,44 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit *pVictim, SpellEntry const *spell) if (Player *modOwner = GetSpellModOwner()) modOwner->ApplySpellMod(spell->Id, SPELLMOD_RESIST_MISS_CHANCE, modHitChance); // Increase from attacker SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT auras - modHitChance+=GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT, schoolMask); + modHitChance += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT, schoolMask); // Chance hit from victim SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE auras - modHitChance+= pVictim->GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE, schoolMask); + modHitChance += pVictim->GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE, schoolMask); // Reduce spell hit chance for Area of effect spells from victim SPELL_AURA_MOD_AOE_AVOIDANCE aura if (IsAreaOfEffectSpell(spell)) - modHitChance-=pVictim->GetTotalAuraModifier(SPELL_AURA_MOD_AOE_AVOIDANCE); + modHitChance -= pVictim->GetTotalAuraModifier(SPELL_AURA_MOD_AOE_AVOIDANCE); int32 HitChance = modHitChance * 100; // Increase hit chance from attacker SPELL_AURA_MOD_SPELL_HIT_CHANCE and attacker ratings - HitChance += int32(m_modSpellHitChance*100.0f); + HitChance += int32(m_modSpellHitChance * 100.0f); // Decrease hit chance from victim rating bonus if (pVictim->GetTypeId() == TYPEID_PLAYER) - HitChance -= int32(pVictim->ToPlayer()->GetRatingBonusValue(CR_HIT_TAKEN_SPELL)*100.0f); + HitChance -= int32(pVictim->ToPlayer()->GetRatingBonusValue(CR_HIT_TAKEN_SPELL) * 100.0f); - if (HitChance < 100) - HitChance = 100; + if (HitChance < 100) + HitChance = 100; else if (HitChance > 10000) HitChance = 10000; int32 tmp = 10000 - HitChance; - uint32 rand = urand(0,10000); + int32 rand = irand(0, 10000); if (rand < tmp) return SPELL_MISS_MISS; // Chance resist mechanic (select max value from every mechanic spell effect) - int32 resist_chance = pVictim->GetMechanicResistChance(spell)*100; + int32 resist_chance = pVictim->GetMechanicResistChance(spell) * 100; tmp += resist_chance; // Chance resist debuff if (!IsPositiveSpell(spell->Id)) { bool bNegativeAura = false; - for (uint8 I = 0; I < 3; I++) + for (uint8 i = 0; i < 3; ++i) { - if (spell->EffectApplyAuraName[I] != 0) + if (spell->EffectApplyAuraName[i] != 0) { bNegativeAura = true; break; @@ -2986,10 +2986,10 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit *pVictim, SpellEntry const *spell) return SPELL_MISS_RESIST; // cast by caster in front of victim - if (pVictim->HasInArc(M_PI,this) || pVictim->HasAuraType(SPELL_AURA_IGNORE_HIT_DIRECTION)) + if (pVictim->HasInArc(M_PI, this) || pVictim->HasAuraType(SPELL_AURA_IGNORE_HIT_DIRECTION)) { - int32 deflect_chance = pVictim->GetTotalAuraModifier(SPELL_AURA_DEFLECT_SPELLS)*100; - tmp+=deflect_chance; + int32 deflect_chance = pVictim->GetTotalAuraModifier(SPELL_AURA_DEFLECT_SPELLS) * 100; + tmp += deflect_chance; if (rand < tmp) return SPELL_MISS_DEFLECT; } @@ -5481,12 +5481,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger case 25988: { // return damage % to attacker but < 50% own total health - basepoints0 = int32((triggerAmount* damage) /100); + basepoints0 = int32((triggerAmount * damage) /100); - if (basepoints0 > GetMaxHealth()/2) - basepoints0 = GetMaxHealth()/2; + int32 halfMaxHealth = int32(CountPctFromMaxHealth(50)); + if (basepoints0 > halfMaxHealth) + basepoints0 = halfMaxHealth; - sLog.outDebug("DEBUG LINE: Data about Eye for an Eye ID %u, damage taken %u, unit max health %u, damage done %u", dummySpell->Id, damage, GetMaxHealth(),basepoints0); + sLog.outDebug("DEBUG LINE: Data about Eye for an Eye ID %u, damage taken %u, unit max health %u, damage done %u", dummySpell->Id, damage, GetMaxHealth(), basepoints0); triggered_spell_id = 25997; @@ -6179,7 +6180,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger if (procSpell && procSpell->Id == 27285) return false; // if damage is more than need or target die from damage deal finish spell - if (triggeredByAura->GetAmount() <= damage || GetHealth() <= damage) + if (triggeredByAura->GetAmount() <= int32(damage) || GetHealth() <= damage) { // remember guid before aura delete uint64 casterGuid = triggeredByAura->GetCasterGUID(); @@ -6198,10 +6199,10 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger return true; } // Seed of Corruption (Mobs cast) - no die req - if (dummySpell->SpellFamilyFlags.IsEqual(0,0,0) && dummySpell->SpellIconID == 1932) + if (dummySpell->SpellFamilyFlags.IsEqual(0, 0, 0) && dummySpell->SpellIconID == 1932) { // if damage is more than need deal finish spell - if (triggeredByAura->GetAmount() <= damage) + if (triggeredByAura->GetAmount() <= int32(damage)) { // remember guid before aura delete uint64 casterGuid = triggeredByAura->GetCasterGUID(); @@ -12130,7 +12131,7 @@ bool Unit::canDetectInvisibilityOf(Unit const* u) const uint32 invLevel = 0; Unit::AuraEffectList const& iAuras = u->GetAuraEffectsByType(SPELL_AURA_MOD_INVISIBILITY); for (Unit::AuraEffectList::const_iterator itr = iAuras.begin(); itr != iAuras.end(); ++itr) - if (uint8((*itr)->GetMiscValue()) == i && invLevel < (*itr)->GetAmount()) + if (uint8((*itr)->GetMiscValue()) == i && int32(invLevel) < (*itr)->GetAmount()) invLevel = (*itr)->GetAmount(); // find invisibility detect level @@ -12143,7 +12144,7 @@ bool Unit::canDetectInvisibilityOf(Unit const* u) const { Unit::AuraEffectList const& dAuras = GetAuraEffectsByType(SPELL_AURA_MOD_INVISIBILITY_DETECTION); for (Unit::AuraEffectList::const_iterator itr = dAuras.begin(); itr != dAuras.end(); ++itr) - if (uint8((*itr)->GetMiscValue()) == i && detectLevel < (*itr)->GetAmount()) + if (uint8((*itr)->GetMiscValue()) == i && int32(detectLevel) < (*itr)->GetAmount()) detectLevel = (*itr)->GetAmount(); } @@ -12237,12 +12238,12 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced) stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS); // for some spells this mod is applied on vehicle owner - uint32 owner_speed_mod = 0; + int32 owner_speed_mod = 0; if (Unit * owner = GetCharmer()) owner_speed_mod = owner->GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED); - main_speed_mod = main_speed_mod>owner_speed_mod ? main_speed_mod : owner_speed_mod; + main_speed_mod = std::max(main_speed_mod, owner_speed_mod); } else if (IsMounted()) { @@ -12924,7 +12925,7 @@ void Unit::IncrDiminishing(DiminishingGroup group) { if (i->DRGroup != group) continue; - if (i->hitCount < GetDiminishingReturnsMaxLevel(group)) + if (int32(i->hitCount) < GetDiminishingReturnsMaxLevel(group)) i->hitCount += 1; return; } @@ -14246,7 +14247,7 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit * pTarget, uint32 procFlag, { int32 damageLeft = triggeredByAura->GetAmount(); // No damage left - if (damageLeft < damage) + if (damageLeft < int32(damage)) i->aura->Remove(); else triggeredByAura->SetAmount(damageLeft - damage); |
