

Hundekuchen
Members-
Posts
57 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by Hundekuchen
-
bump
-
updated, maybe this solution is better I think
-
With patch 3.1 blizzard added that parry and avoid give rage... not before diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 49d1786..0618ad3 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -558,12 +558,12 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa if(!damage) { - // Rage from physical damage received . - if(cleanDamage && cleanDamage->damage && (damageSchoolMask & SPELL_SCHOOL_MASK_NORMAL) && pVictim->GetTypeId() == TYPEID_PLAYER && (pVictim->getPowerType() == POWER_RAGE)) + // Rage only from block, not from parry and avoid + if(cleanDamage && cleanDamage->hitOutCome != MELEE_HIT_PARRY && cleanDamage->hitOutCome != MELEE_HIT_DODGE && cleanDamage->damage && (damageSchoolMask & SPELL_SCHOOL_MASK_NORMAL) && pVictim->GetTypeId() == TYPEID_PLAYER && (pVictim->getPowerType() == POWER_RAGE)) ((Player*)pVictim)->RewardRage(cleanDamage->damage, 0, false); - return 0; } + best regards, Hundekuchen
-
I found out that some spell of creature buffs and debuffs use the level calculation of players and because of that there basepoints are very very high. Here my testing examples: http://www.wowhead.com/spell=33967 http://www.wowhead.com/spell=36576 http://www.wowhead.com/spell=32918 diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 5ca3033..b4c30f2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9375,6 +9418,11 @@ int32 Unit::CalculateSpellDamage(Unit const* target, SpellEntry const* spellProt } } + // buffs and debuffs not need a extra calculation + for(uint8 i = 0; i < MAX_EFFECT_INDEX; ++i) + if(spellProto->Effect[i] == SPELL_EFFECT_APPLY_AURA) + return value; + if(spellProto->Attributes & SPELL_ATTR_LEVEL_DAMAGE_CALCULATION && spellProto->spellLevel && spellProto->Effect[effect_index] != SPELL_EFFECT_WEAPON_PERCENT_DAMAGE && spellProto->Effect[effect_index] != SPELL_EFFECT_KNOCK_BACK && i hope i have fix it on the right position^^ best regards Hundekuchen
-
please also to the backportpatch for 0.12 !
-
There is a amazing bug in your code, please use "else if", otherwise the paladin can't cast his flashlight usefull anymore.
-
At time i'm very busy, do you have a link to "Laise's new aura"?
-
I think that this is a good possibility to change wrong dbc-values for dynObj in a fast way.
-
nice work, now i can delete my warrior :-P
-
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
/ bump -
Is it possible to convert the mmaps system for mangos-0.12?
-
What bug does the patch fix? What features does the patch add? Fix the size of some spells: http://www.wowhead.com/spell=30129 http://www.wowhead.com/spell=37091 http://www.wowhead.com/spell=48819 and other Ranks For which repository revision was the patch created? 8569 mangos 0.12 Is there a thread in the bug report section or at lighthouse? not in this case Who has been writing this patch? Please include either forum user names or email addresses. Me and Bugfix diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index bc86747..46ff168 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2603,6 +2613,28 @@ void Spell::EffectPersistentAA(SpellEffectIndex eff_idx) dynObj->SetUInt32Value(OBJECT_FIELD_TYPE, 65); dynObj->SetUInt32Value(GAMEOBJECT_DISPLAYID, 368003); dynObj->SetUInt32Value(DYNAMICOBJECT_BYTES, 0x01eeeeee); + + switch (m_spellInfo->SpellFamilyName) + { + case SPELLFAMILY_GENERIC: + switch(m_spellInfo->Id) + { + case 30129: + dynObj->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.8f); + break; + case 37091: + dynObj->SetFloatValue(OBJECT_FIELD_SCALE_X, 0.1f); + break; + } + break; + case SPELLFAMILY_PALADIN: + if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000000020)) + dynObj->SetFloatValue(OBJECT_FIELD_SCALE_X, 2); + break; + } m_caster->AddDynObject(dynObj); m_caster->GetMap()->Add(dynObj); }
-
Hey ho, i hope it works for mangos 0.12 very soon. nice work
-
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
where are the codes?^^ this is the final code of Emme and Sarjuuk diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index b7cb5aa..1890261 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -4470,11 +4502,21 @@ void Aura::HandleAuraModResistanceExclusive(bool apply, bool /*Real*/) { for(int8 x = SPELL_SCHOOL_NORMAL; x < MAX_SPELL_SCHOOL;x++) { + int32 oldMaxValue = 0; if(m_modifier.m_miscvalue & int32(1<<x)) { - m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), BASE_VALUE, float(m_modifier.m_amount), apply); + // no same resistance auras stack together + Unit::AuraList const& REAuras = m_target->GetAurasByType(SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE); + for (Unit::AuraList::const_iterator i = REAuras.begin(); i != REAuras.end(); ++i) + if (((*i)->GetMiscValue() & int32(1<<x)) && (*i)->GetSpellProto()->Id != GetSpellProto()->Id) + if (oldMaxValue < (*i)->GetModifier()->m_amount) + oldMaxValue = (*i)->GetModifier()->m_amount; + + float value = (m_modifier.m_amount > oldMaxValue) ? m_modifier.m_amount - oldMaxValue : 0.0f; + + m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), BASE_VALUE, value, apply); if(m_target->GetTypeId() == TYPEID_PLAYER) - m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, float(m_modifier.m_amount), apply); + m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, value, apply); } } } -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
on this side ( the source of wowwikki ) http://www.mmo-champion.com/news-2/patch-3-0-2-on-debuffs-buffs-and-raid-stacking/?PHPSESSID=16a956e7a491531dd78969c0de67d429 Mark of Wild is in one extra case, and my fix was for mangos 0.12, but I could not find anything. -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
next line mysterious again -.- edit: Ceris was faster^^ -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
/sign Ceris -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index b7cb5aa..5eadc8d 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -4470,11 +4496,22 @@ void Aura::HandleAuraModResistanceExclusive(bool apply, bool /*Real*/) { for(int8 x = SPELL_SCHOOL_NORMAL; x < MAX_SPELL_SCHOOL;x++) { + int32 oldMaxValue = 0; if(m_modifier.m_miscvalue & int32(1<<x)) { - m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), BASE_VALUE, float(m_modifier.m_amount), apply); + // no same resistance auras stack together + Unit::AuraList const& REAuras = m_target->GetAurasByType(SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE); + for (Unit::AuraList::const_iterator i = REAuras.begin(); i != REAuras.end(); ++i) + if (((*i)->GetMiscValue() & int32(1<<x)) && (*i)->GetSpellProto()->Id != GetSpellProto()->Id + && (*i)->GetSpellProto()->SpellFamilyName != 7 && GetSpellProto()->SpellFamilyName != 7) //ignore Mark of Wild + if (oldMaxValue < (*i)->GetModifier()->m_amount) + oldMaxValue = (*i)->GetModifier()->m_amount; + + float value = (m_modifier.m_amount > oldMaxValue) ? m_modifier.m_amount - oldMaxValue : 0.0f; + + m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), BASE_VALUE, value, apply); if(m_target->GetTypeId() == TYPEID_PLAYER) - m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, float(m_modifier.m_amount), apply); + m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, value, apply); } } } In this form it works with your script -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
really? because "Mark of Wild" has SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE too... mysterious But it is a good way to check the SpellAura with Auralist. if it's work, nice Edit: Mark of Wild doesn't work -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
okay I hope now it's done please try it out -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
Mark of Wild will be ignored by this code (No Druide Family) unfortunately I have found another misstack in the scrip. I will fix it -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
first post updated -
[Fix] auras of the same resistance
Hundekuchen replied to Auntie Mangos's topic in ... under reviewOld
I work on it
Contact Us
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
This website is in no way associated with or endorsed by Blizzard Entertainment®