Jump to content

przemratajczak

Members
  • Posts

    346
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by przemratajczak

  1. have you used any addons supporting map or quests? well known is conflitct between cartographer and blizz tracking tool.
  2. MaNGOS 9756 SD2 1677 UDB 389 Bug: Since 3.3.0 Vampiric Embrace is no longer debuff so assume it no longer needs diminishing rules. This patch will also restore propper 30min duration diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index e03ad77..123b35a 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -3581,11 +3581,8 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellEntry const* spellproto } case SPELLFAMILY_PRIEST: { - // Vampiric Embrace - if ((spellproto->SpellFamilyFlags & UI64LIT(0x00000000004)) && spellproto->SpellIconID == 150) - return DIMINISHING_LIMITONLY; // Shackle Undead - else if (spellproto->SpellIconID == 27) + if (spellproto->SpellIconID == 27) return DIMINISHING_DISORIENT; break; } @@ -3656,13 +3653,6 @@ int32 GetDiminishingReturnsLimitDuration(DiminishingGroup group, SpellEntry cons return 40000; break; } - case SPELLFAMILY_PRIEST: - { - // Vampiric Embrace - limit to 60 seconds in PvP (3.1) - if ((spellproto->SpellFamilyFlags & UI64LIT(0x00000000004)) && spellproto->SpellIconID == 150) - return 60000; - break; - } case SPELLFAMILY_WARLOCK: { // Banish - limit to 6 seconds in PvP (3.1)
  3. I also thought so. now i wonder if there is any way to handle SendEvent effect in instance script
  4. over 120 patches from variant topics of this, mangos.ru and public repositoris, and also those writtern by KepatejiB himself
  5. i am using fork of Insider42 exactly 9756 and CP seems working fine (tested on DruidFeral Claw rank1)
  6. MaNGOS 9754 SD2 1677 UDB 389 Bug: Spell Decimate does not "Reduce the current health of all nearby units to 5% of their maximum health." diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index dc35dff..cb2d69c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5782,6 +5782,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) return; } + case 28374: // Decimate (Naxxramas: Gluth) + { + if (!unitTarget || unitTarget->GetHealthPercent() <= 5.0f) + return; + + int32 damage = unitTarget->GetHealth() - unitTarget->GetMaxHealth() * 0.05; + unitTarget->CastCustomSpell(unitTarget, 28375, &damage, NULL, NULL, true, NULL, NULL, m_originalCasterGUID); + return; + } case 29830: // Mirren's Drinking Hat { uint32 item = 0; http://paste2.org/p/778958
  7. MaNGOS 9754 UDB 389 and checking out queries related to Achievements from #390 dunno if this is related to bad DB data or core issue? http://pastebin.org/154706 allert canceled! after chat with crackm solved issue.
  8. than situation is more concenrning, if I try login every few secounds sucha a query is running whole table every few seconds?
  9. look at the topic title and revision you pointed under link ;-)
  10. i've got this issue too. haven't checked logs so far (havn't time) found http://code.google.com/p/trinitycore/source/detail?r=50ede8e9dc8a83776fb6a0bfe17af9391c17b625# nice comment in commit message, maybe helpful for someone, cause implementation seems hacky
  11. i played with this tool yeasterday. planed somehow loop it to unpack all maps at once, without grids as arguments. if you be so kind can you also take a look at that?
  12. my AI, everything is on place except PvP handling. if you find out which flag has to be set give me a hint /*######## # mob_mirror_image AI #########*/ enum MirrorImage { SPELL_FROSTBOLT = 59638, SPELL_FIREBLAST = 59637 }; struct MANGOS_DLL_DECL mob_mirror_imageAI : public ScriptedAI { mob_mirror_imageAI(Creature* pCreature) : ScriptedAI(pCreature) { bLocked = false; Reset(); } uint64 m_uiCreatorGUID; uint32 m_uiFrostboltTimer; uint32 m_uiFireBlastTimer; float fDist; float fAngle; bool bLocked; void Reset() { m_uiFrostboltTimer = urand(500, 1500); m_uiFireBlastTimer = urand(4500, 6000); } void UpdateAI(const uint32 uiDiff) { if (!bLocked) { m_uiCreatorGUID = m_creature->GetCreatorGUID(); if (Player* pOwner = (Player*)Unit::GetUnit(*m_creature, m_uiCreatorGUID)) { fDist = m_creature->GetDistance(pOwner); fAngle = m_creature->GetAngle(pOwner); } bLocked = true; } Player* pOwner = (Player*)Unit::GetUnit(*m_creature, m_uiCreatorGUID); if (!pOwner || !pOwner->IsInWorld()) { m_creature->ForcedDespawn(); return; } uint64 targetGUID = 0; if (Spell* pSpell = pOwner->GetCurrentSpell(CURRENT_GENERIC_SPELL)) targetGUID = pSpell->m_targets.getUnitTargetGUID(); else if (pOwner->getVictim()) targetGUID = pOwner->getVictim()->GetGUID(); Unit* pTarget = Unit::GetUnit(*m_creature, targetGUID); if (!pTarget || !m_creature->CanInitiateAttack() || !pTarget->isTargetableForAttack() || !m_creature->IsHostileTo(pTarget) || !pTarget->isInAccessablePlaceFor(m_creature)) { if (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() != FOLLOW_MOTION_TYPE) { m_creature->InterruptNonMeleeSpells(false); m_creature->GetMotionMaster()->Clear(); m_creature->GetMotionMaster()->MoveFollow(pOwner, fDist, fAngle); } return; } if (m_uiFrostboltTimer <= uiDiff) { m_creature->CastSpell(pTarget, SPELL_FROSTBOLT, false, NULL, NULL, pOwner->GetGUID()); m_uiFrostboltTimer = urand(3000, 4500); } else m_uiFrostboltTimer -= uiDiff; if (m_uiFireBlastTimer <= uiDiff) { m_creature->CastSpell(pTarget, SPELL_FIREBLAST, false, NULL, NULL, pOwner->GetGUID()); m_uiFireBlastTimer = urand(9000, 12000); } else m_uiFireBlastTimer -= uiDiff; } }; CreatureAI* GetAI_mob_mirror_image(Creature* pCreature) { return new mob_mirror_imageAI(pCreature); }
  13. http://github.com/mangos/mangos/commit/9cb80de5b91c8a221d2e28c820f70837591a949b
  14. MaNGOS 9739 UDB 389 SD2 1675 Bug: According to patch notes some spells with SPELL_AURA_PERIODIC_DAMAGE effect can now crit diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 97591d5..1d38fae 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -8729,14 +8729,42 @@ void Aura::HandleAuraSafeFall( bool Apply, bool Real ) bool Aura::IsCritFromAbilityAura(Unit* caster, uint32& damage) { + bool bCanCrit = false; + + switch(m_spellProto->SpellFamilyName) + { + case SPELLFAMILY_WARLOCK: + // Immolate + if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004)) + bCanCrit = true; + break; + + case SPELLFAMILY_ROGUE: + // Rupture + if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000100000)) + bCanCrit = true; + break; + + case SPELLFAMILY_SHAMAN: + // Flame Shock + if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000010000000)) + bCanCrit = true; + break; + + default: break; + } + Unit::AuraList const& auras = caster->GetAurasByType(SPELL_AURA_ABILITY_PERIODIC_CRIT); for(Unit::AuraList::const_iterator itr = auras.begin(); itr != auras.end(); ++itr) { if (!(*itr)->isAffectedOnSpell(m_spellProto)) continue; - if (!caster->isSpellCrit(m_target, m_spellProto, GetSpellSchoolMask(m_spellProto))) - break; + bCanCrit = true; + } + + if (bCanCrit && caster->isSpellCrit(m_target, m_spellProto, GetSpellSchoolMask(m_spellProto))) + { damage = caster->SpellCriticalDamageBonus(m_spellProto, damage, m_target); return true; } Pastebin
  15. um, wouldn't it cause crash if you remove aura which is still procesed?
  16. i think you did not understood intention. there ARE quests and quite much of them that requires such a support. lets say we've got npcs corpse and you have to stake a snapshot with Q item, those corpses are not supposed to despawn after spell cast (it was even disussed at udb irc channel long time ago) How will you solve this problem at ScriptedAI level? it would be as natural and generic solution as sending loot recepient.
  17. git reset --hard <SHA of commit you wish to be last> for example for 9721 git reset --hard e420ce88b2b8ff1a653735675520095edf294fbd
  18. yes, i proposed similar idea at SD2 ircchannel but noone picked up conversation
  19. i just stored all talent spells and deleted them before server startup ;-)
  20. it was present even when patch was under development. dunno if strictly related to dual spec. I was able to reproduce it 1) learn some talents that introduce additional spell (Blast Wave in example) and drag their icons onto bar 2) switch to 2nd spec 3) logout 4) login 5) switch to 1st spec - button with blast wave was lost
  21. add new exception in spellmgr.cpp in IsNoStackDueToSpell()
  22. i think we need new AI (similar to guardians) for all those kind of temp summons. I gave up and also implemented scriptedAI for MI. It is impossible to update target (m.i. should attack current creator target) and movement generator without this (there is small chance that periodic initialzing spell could handle this, but doubt this is way it should be done)
×
×
  • 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