Jump to content

przemratajczak

Members
  • Posts

    346
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by przemratajczak

  1. thanks for sharing mmaps assembler, but GridMapManager.h/GridMapManager.cpp is missing in uploaded source
  2. I assume mmap assembler is reserved for author ;-) ?
  3. MaNGOS 9610 UDB 388 SD2 1653 4 horsemen marks http://www.wowhead.com/?spell=28832 http://www.wowhead.com/?spell=28833 http://www.wowhead.com/?spell=28834 http://www.wowhead.com/?spell=28835 has to trigger damage aura with dmg related to amount of stacks present on aura target. I wrote code below, but when 2nd and next stacks apply server does not pass through Aura::HandleAuraDummy (it is executed only once, at initial stack apply). Don't know where to relocate this code to make it working diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index f887f6b..b0425c7 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2390,6 +2390,33 @@ void Aura::HandleAuraDummy(bool apply, bool Real) if (Unit* caster = GetCaster()) caster->CastSpell(caster, 13138, true, NULL, this); return; + case 28832: // Mark of Korth'azz + case 28833: // Mark of Blaumeux + case 28834: // Mark of Rivendare + case 28835: // Mark of Zeliek + { + Aura* aur = m_target->GetAura(GetId(), EFFECT_INDEX_0); + if (!aur) + return; + + uint8 stacks = aur->GetStackAmount(); + int32 damage = 0; + + if (stacks == 1) + damage = 500; + else if (stacks == 2) + damage = 1500; + else if (stacks == 3) + damage = 4000; + else if (stacks == 4) + damage = 12500; + else if (stacks > 4) + damage = 20000 + 1000 * (stacks - 5); + + if (Unit* caster = GetCaster()) + caster->CastCustomSpell(m_target, 28836, &damage, NULL, NULL, true, NULL, this, caster->GetGUID()); + return; + } case 39850: // Rocket Blast if (roll_chance_i(20)) // backfire stun m_target->CastSpell(m_target, 51581, true, NULL, this); EDIT: Arrai pointed that problem is related to if (amount!=m_modifier.m_amount) { ApplyModifier(false, true); m_modifier.m_amount = amount; ApplyModifier(true, true); }
  4. I noticed that Aura 279 (Clone Me! etc.) was fixed by that.
  5. that's what i thought, started to read already detour documentation EDIT: wow. looks damn good
  6. for me it generates always one path per creature which is stright way from creature to attacker (like on clean mangos). maybe i missed something
  7. 9616 is just the same code as Zor proposed as a fix few posts above. Me and few other people gave feedback. Just read it ~~
  8. for shattered barrier try this diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 9d3a5a7..fe713a4 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -6501,8 +6501,8 @@ void Aura::HandleSpellSpecificBoosts(bool apply) if ((*itr)->GetSpellProto()->SpellIconID == 2945) { cast_at_remove = true; - // first rank have 50% chance - if ((*itr)->GetId() != 44745 || roll_chance_i(50)) + // 1st rank have 50% chance, 2nd 100% + if (((*itr)->GetId() == 44745 && roll_chance_i(50)) || (*itr)->GetId() == 54787) spellId1 = 55080; break; } @@ -6510,6 +6510,7 @@ void Aura::HandleSpellSpecificBoosts(bool apply) } else return; + break; } switch(GetId())
  9. pobably related to padVn autoshot patch, i had something similar but couldn't reproduce and report before it was commited to master.
  10. compiled 2h ago with both chunks of code proposed by you. Freezes are gone or much less frequently (dunno how far I can trust testers when they are claimig they were freezed ;-) )
  11. exactly this one ;-) for me it is working, at least i can't complain
  12. anyone know propper blizz behaviour? If player logout during BG and there are players in queue, is he instantly removed or bg is waiting certain amount time for him to login?
  13. I am using 9527 and cannot complain, but reading forum comments I am affraid to update fourther If this crash is so repeatable maybe someone affected will paste backtrace and describe how exactly repeat?
  14. don't you have one gameobject assigned to two pools?
  15. I don't know if it isn't something form insiders branch (I am merging it with your petstats ;-) ) but after player call pet (for example dismount) pets HP is increased by stat modifier but not filled to propper %. For example if raw pets maxhp is 5000, current saved hp is 5000 (100%) after stat modiefier applied additional 1500 hp is like 5000/6500. at least i think it could be the reason. Can anyone confirmes my issue?
  16. I've got this patch with 9527 and havn't single crash for about 7 days (700ppl)
  17. 1) thanks for your great job pasdVn does it still requires spell_proc_event records? 2) if( !p_caster->GetPet() ) { Spell::SendCastResult((Player*)p_caster, m_spellProto, 0, SPELL_FAILED_NO_PET); ((Player*)p_caster)->RemoveSpellCooldown(m_spellProto->Id, true); SetAuraDuration(0); return; } looks like not the best approach, didn't tested it yet but I met similar solution with removing cooldown on spell when cast failed in some other patch. This leads to exploit with another auras procing from spell cast (for example one of metagems restoring mana). ofc this could be considered as a core issue.
  18. i noticed this also to ;-) from some time i am using TIMED_DESPAWN in SummonWild because npc are not despawning if stay in combat.
  19. I'm not sure if this part isn't already implemented in mangos in more generic way
  20. I can advice Insider 9572 + minor adjustments. I haven't single crash for a week or so.
  21. i dug up this patch 5 days ago and after small update seems working.
  22. Wojta - probably not related to mtmaps. I am using last patch poseted by infinity + mutex around player and event update and haven't any crash at all from few days (700ppl)
  23. MaNGOS 9527 SD2 1607 UDB 387 Bug: Lightwell http://www.wowhead.com/?spell=724 and ranks is not working at all Comments: * lightwell is respawning if ForcedDespawn() used to despawn so I had to use AddObjectToRemoveList() Proposed fix: diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index c02a49f..168d34a 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2461,6 +2461,10 @@ void Aura::HandleAuraDummy(bool apply, bool Real) case 58591: // Stoneclaw Totem X m_target->CastSpell(m_target, 58585, true); return; + case 59907: // Lightwell charges + if (m_target->GetTypeId() == TYPEID_UNIT) + ((Creature*)m_target)->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + return; case 62061: // Festive Holiday Mount if (m_target->HasAuraType(SPELL_AURA_MOUNTED)) // Reindeer Transformation @@ -2711,6 +2715,12 @@ void Aura::HandleAuraDummy(bool apply, bool Real) caster->RemoveAurasDueToSpell(34027); return; } + case 59907: // Lightwell charges - despawn creature if no charges remain + { + if (m_target->GetTypeId() == TYPEID_UNIT) + ((Creature*)m_target)->AddObjectToRemoveList(); + return; + } } // Living Bomb if (m_spellProto->SpellFamilyName == SPELLFAMILY_MAGE && (m_spellProto->SpellFamilyFlags & UI64LIT(0x2000000000000))) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 7ded7bf..0860f25 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6150,6 +6150,37 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) unitTarget->CastSpell(unitTarget, 59943, true); return; } + case 60123: // Lightwell Renew + { + Unit* creator = Unit::GetUnit(*m_caster, m_caster->GetCreatorGUID()); + + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER || + !creator || creator->GetTypeId() != TYPEID_PLAYER || + ((Player*)unitTarget)->GetTeam() != ((Player*)creator)->GetTeam()) + return; + + uint32 renewSpell = 0; + switch(m_caster->GetEntry()) + { + case 31897: renewSpell = 7001; break; + case 31896: renewSpell = 27873; break; + case 31895: renewSpell = 27874; break; + case 31894: renewSpell = 28276; break; + case 31893: renewSpell = 48084; break; + case 31883: renewSpell = 48085; break; + default: break; + } + + m_caster->CastSpell(unitTarget, renewSpell, true); + + if (Aura* aur = m_caster->GetAura(59907, EFFECT_INDEX_0)) + { + if (aur->GetAuraCharges() > 1) + aur->DropAuraCharge(); + else m_caster->RemoveAura(aur); + } + return; + } // random spell learn instead placeholder case 60893: // Northrend Alchemy Research case 61177: // Northrend Inscription Research SQL DELETE FROM npc_spellclick_spells WHERE npc_entry IN (31883,31893,31894,31895,31896,31897); INSERT INTO npc_spellclick_spells VALUES (31897,60123,0,0,0,2), -- rank 1 (31896,60123,0,0,0,2), -- rank 2 (31895,60123,0,0,0,2), -- rank 3 (31894,60123,0,0,0,2), -- rank 4 (31893,60123,0,0,0,2), -- rank 5 (31883,60123,0,0,0,2); -- rank 6 DELETE FROM creature_template_addon WHERE entry IN (31897,31896,31895,31894,31893,31883); INSERT INTO creature_template_addon VALUES (31883,0,0,0,0,0,'59907 0'), (31893,0,0,0,0,0,'59907 0'), (31894,0,0,0,0,0,'59907 0'), (31895,0,0,0,0,0,'59907 0'), (31896,0,0,0,0,0,'59907 0'), (31897,0,0,0,0,0,'59907 0');
  24. both patches are working as intended
  25. reset your source, than install for example tortoise SVN and merge again. when merge confict message emerge use command "git mergetool". It will display "mine" and "theirs" windows with highligted conflicted parts. Than you can read mismatching hunks and add it manualy.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use