mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
Merge remote branch 'origin/master' into 330
This commit is contained in:
commit
9a0545cd05
6 changed files with 60 additions and 6 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -68,6 +68,10 @@ patches-*
|
||||||
#
|
#
|
||||||
bin/*
|
bin/*
|
||||||
|
|
||||||
|
# OS specific
|
||||||
|
# MacOS
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
#
|
#
|
||||||
# Special exceptions
|
# Special exceptions
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -2053,7 +2053,7 @@ void Player::Regenerate(Powers power, uint32 diff)
|
||||||
AuraList const& ModPowerRegenPCTAuras = GetAurasByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT);
|
AuraList const& ModPowerRegenPCTAuras = GetAurasByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT);
|
||||||
for(AuraList::const_iterator i = ModPowerRegenPCTAuras.begin(); i != ModPowerRegenPCTAuras.end(); ++i)
|
for(AuraList::const_iterator i = ModPowerRegenPCTAuras.begin(); i != ModPowerRegenPCTAuras.end(); ++i)
|
||||||
if ((*i)->GetModifier()->m_miscvalue == power && (*i)->GetMiscBValue()==GetCurrentRune(rune))
|
if ((*i)->GetModifier()->m_miscvalue == power && (*i)->GetMiscBValue()==GetCurrentRune(rune))
|
||||||
cd_diff = cd_diff * ((*i)->GetModifier()->m_amount + 100) / 100.0f;
|
cd_diff = cd_diff * ((*i)->GetModifier()->m_amount + 100) / 100;
|
||||||
|
|
||||||
SetRuneCooldown(rune, (cd < cd_diff) ? 0 : cd - cd_diff);
|
SetRuneCooldown(rune, (cd < cd_diff) ? 0 : cd - cd_diff);
|
||||||
}
|
}
|
||||||
|
|
@ -3702,7 +3702,7 @@ bool Player::resetTalents(bool no_cost)
|
||||||
TalentEntry const *talentInfo = (*iter).second.m_talentEntry;
|
TalentEntry const *talentInfo = (*iter).second.m_talentEntry;
|
||||||
if (!talentInfo)
|
if (!talentInfo)
|
||||||
{
|
{
|
||||||
iter = m_talents[m_activeSpec].erase(iter);
|
m_talents[m_activeSpec].erase(iter++);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3710,7 +3710,7 @@ bool Player::resetTalents(bool no_cost)
|
||||||
|
|
||||||
if (!talentTabInfo)
|
if (!talentTabInfo)
|
||||||
{
|
{
|
||||||
iter = m_talents[m_activeSpec].erase(iter);
|
m_talents[m_activeSpec].erase(iter++);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -14870,7 +14870,11 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
|
||||||
SetArenaTeamInfoField(arena_slot, ArenaTeamInfoType(j), 0);
|
SetArenaTeamInfoField(arena_slot, ArenaTeamInfoType(j), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetUInt32Value(PLAYER_FIELD_HONOR_CURRENCY, fields[40].GetUInt32());
|
uint32 honor_currency = fields[40].GetUInt32();
|
||||||
|
if (honor_currency > sWorld.getConfig(CONFIG_UINT32_MAX_HONOR_POINTS))
|
||||||
|
honor_currency = sWorld.getConfig(CONFIG_UINT32_MAX_HONOR_POINTS);
|
||||||
|
SetUInt32Value(PLAYER_FIELD_HONOR_CURRENCY, honor_currency);
|
||||||
|
|
||||||
SetUInt32Value(PLAYER_FIELD_TODAY_CONTRIBUTION, fields[41].GetUInt32());
|
SetUInt32Value(PLAYER_FIELD_TODAY_CONTRIBUTION, fields[41].GetUInt32());
|
||||||
SetUInt32Value(PLAYER_FIELD_YESTERDAY_CONTRIBUTION, fields[42].GetUInt32());
|
SetUInt32Value(PLAYER_FIELD_YESTERDAY_CONTRIBUTION, fields[42].GetUInt32());
|
||||||
SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS, fields[43].GetUInt32());
|
SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS, fields[43].GetUInt32());
|
||||||
|
|
@ -21884,4 +21888,4 @@ void Player::SetRestType( RestType n_r_type, uint32 areaTriggerId /*= 0*/)
|
||||||
if(sWorld.IsFFAPvPRealm())
|
if(sWorld.IsFFAPvPRealm())
|
||||||
SetFFAPvP(false);
|
SetFFAPvP(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1282,6 +1282,7 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
|
||||||
case 51026: // Create Drakkari Medallion Cover
|
case 51026: // Create Drakkari Medallion Cover
|
||||||
case 51592: // Pickup Primordial Hatchling
|
case 51592: // Pickup Primordial Hatchling
|
||||||
case 51961: // Captured Chicken Cover
|
case 51961: // Captured Chicken Cover
|
||||||
|
case 55364: // Create Ghoul Drool Cover
|
||||||
{
|
{
|
||||||
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER)
|
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER)
|
||||||
return;
|
return;
|
||||||
|
|
@ -1295,6 +1296,7 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
|
||||||
case 51026: spellId = 50737; break;
|
case 51026: spellId = 50737; break;
|
||||||
case 51592: spellId = 51593; break;
|
case 51592: spellId = 51593; break;
|
||||||
case 51961: spellId = 51037; break;
|
case 51961: spellId = 51037; break;
|
||||||
|
case 55364: spellId = 55363; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (const SpellEntry *pSpell = sSpellStore.LookupEntry(spellId))
|
if (const SpellEntry *pSpell = sSpellStore.LookupEntry(spellId))
|
||||||
|
|
|
||||||
|
|
@ -1399,6 +1399,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
||||||
(spellInfo_2->Id == 8326 && spellInfo_1->Id == 20584) )
|
(spellInfo_2->Id == 8326 && spellInfo_1->Id == 20584) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// Kindred Spirits
|
||||||
|
if( spellInfo_1->SpellIconID == 3559 && spellInfo_2->SpellIconID == 3559 )
|
||||||
|
return false;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SPELLFAMILY_MAGE:
|
case SPELLFAMILY_MAGE:
|
||||||
|
|
|
||||||
|
|
@ -9073,6 +9073,27 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SPELLFAMILY_DRUID:
|
||||||
|
{
|
||||||
|
// Improved Insect Swarm (Wrath part)
|
||||||
|
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000001))
|
||||||
|
{
|
||||||
|
// if Insect Swarm on target
|
||||||
|
if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_DRUID, UI64LIT(0x000000000200000), 0, GetGUID()))
|
||||||
|
{
|
||||||
|
Unit::AuraList const& improvedSwarm = GetAurasByType(SPELL_AURA_DUMMY);
|
||||||
|
for(Unit::AuraList::const_iterator iter = improvedSwarm.begin(); iter != improvedSwarm.end(); ++iter)
|
||||||
|
{
|
||||||
|
if ((*iter)->GetSpellProto()->SpellIconID == 1771)
|
||||||
|
{
|
||||||
|
DoneTotalMod *= ((*iter)->GetModifier()->m_amount+100.0f) / 100.0f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SPELLFAMILY_DEATHKNIGHT:
|
case SPELLFAMILY_DEATHKNIGHT:
|
||||||
{
|
{
|
||||||
// Icy Touch, Howling Blast and Frost Strike
|
// Icy Touch, Howling Blast and Frost Strike
|
||||||
|
|
@ -9374,6 +9395,25 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SPELLFAMILY_DRUID:
|
||||||
|
// Improved Insect Swarm (Starfire part)
|
||||||
|
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004))
|
||||||
|
{
|
||||||
|
// search for Moonfire on target
|
||||||
|
if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_DRUID, UI64LIT(0x000000000000002), 0, GetGUID()))
|
||||||
|
{
|
||||||
|
Unit::AuraList const& improvedSwarm = GetAurasByType(SPELL_AURA_DUMMY);
|
||||||
|
for(Unit::AuraList::const_iterator iter = improvedSwarm.begin(); iter != improvedSwarm.end(); ++iter)
|
||||||
|
{
|
||||||
|
if ((*iter)->GetSpellProto()->SpellIconID == 1771)
|
||||||
|
{
|
||||||
|
crit_chance += (*iter)->GetModifier()->m_amount;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case SPELLFAMILY_PALADIN:
|
case SPELLFAMILY_PALADIN:
|
||||||
// Sacred Shield
|
// Sacred Shield
|
||||||
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000040000000))
|
if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000040000000))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9664"
|
#define REVISION_NR "9670"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue