Jump to content

KAPATEJIb

Members
  • Posts

    436
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by KAPATEJIb

  1. Thanks for that AWESOME patch, but i found some bugs: for example if you warlock and go to arena, summon any pet, setup aggressive mode for pet and use any mount - when you run near the opponent - pet begin to attack the opponent - pet shouldn't attack when you are mounted, but it happens Sorry for bad English :wacko:
  2. Now AP bonus is applied to healing bonus too. Changed code style. Thanks to Shendor from getmangos.ru diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 03b34cb..ea5ae4f 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8341,7 +8341,20 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 coeff = bonus->direct_damage * LvlPenalty * stack; if (bonus->ap_bonus) - DoneTotal += int32(bonus->ap_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); + { + float total_bonus = bonus->ap_bonus; + if (GetTypeId() == TYPEID_PLAYER && ((Player*)this)->getClass() == CLASS_DEATH_KNIGHT) + { + uint32 impurity_id[5] = {49220,49633,49635,49636,49638}; + for (int i = 0; i < 5; ++i) + if (((Player*)this)->HasSpell(impurity_id[i])) + { + total_bonus += bonus->ap_bonus * (sSpellStore.LookupEntry(impurity_id[i])->EffectBasePoints[0] + 1) / 100.0f; + break; + } + } + DoneTotal += int32(total_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); + } DoneTotal += int32(DoneAdvertisedBenefit * coeff * SpellModSpellDamage); TakenTotal += int32(TakenAdvertisedBenefit * coeff); @@ -8787,7 +8800,17 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint coeff = bonus->direct_damage * LvlPenalty * stack; if (bonus->ap_bonus) - DoneTotal += int32(bonus->ap_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); + { + float total_bonus = bonus->ap_bonus; + if (GetTypeId() == TYPEID_PLAYER && ((Player*)this)->getClass() == CLASS_DEATH_KNIGHT) + { + uint32 impurity_id[5] = {49220,49633,49635,49636,49638}; + for (int i = 0; i < 5; ++i) + if (((Player*)this)->HasSpell(impurity_id[i])) + total_bonus += bonus->ap_bonus * (sSpellStore.LookupEntry(impurity_id[i])->EffectBasePoints[0] + 1) / 100.0f; + } + DoneTotal += int32(total_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); + } DoneTotal += int32(DoneAdvertisedBenefit * coeff * SpellModSpellDamage); TakenTotal += int32(TakenAdvertisedBenefit * coeff); if you expirenced some problems with patch appliyng - use QUOTE button and then copy (because forum bug)
  3. Hello. I was started to write a patch for DK's talent http://www.wowhead.com/?spell=49638 (all ranks) here the code diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 7045353..75336d8 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8068,6 +8068,7 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 // Taken/Done total percent damage auras float DoneTotalMod = 1.0f; float TakenTotalMod = 1.0f; + int32 ImpurityMod = 0; int32 DoneTotal = 0; int32 TakenTotal = 0; @@ -8212,6 +8213,18 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 } } + // Impurity hack + if (HasAura(49220)) + ImpurityMod = 4; + if (HasAura(49633)) + ImpurityMod = 8; + if (HasAura(49635)) + ImpurityMod = 12; + if (HasAura(49636)) + ImpurityMod = 16; + if (HasAura(49638)) + ImpurityMod = 20; + // Custom scripted damage switch(spellProto->SpellFamilyName) { @@ -8314,7 +8327,11 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 coeff = bonus->direct_damage * LvlPenalty * stack; if (bonus->ap_bonus) - DoneTotal += int32(bonus->ap_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); + { + int32 scrap = 0; + scrap = GetTotalAttackPowerValue(BASE_ATTACK) / 100 * ImpurityMod; + DoneTotal += int32(bonus->ap_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack) + scrap; + } DoneTotal += int32(DoneAdvertisedBenefit * coeff * SpellModSpellDamage); TakenTotal += int32(TakenAdvertisedBenefit * coeff); Code is too hacky but it works. If you can simplify the code - post it.
  4. Does this fix a bug with unattackable totems on arena for same fraction? For example you fight horde vs alliance on arena - it works good - you can attack their totems, but horde vs horde - you can't Same bug with pets/summons on clean mangos, as i see - that patch fixed that for them
  5. Already use diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 5ddca82..c7e1e5c 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7687,7 +7687,7 @@ void Unit::EnergizeBySpell(Unit *pVictim, uint32 SpellID, uint32 Damage, Powers { SendEnergizeSpellLog(pVictim, SpellID, Damage, powertype); // needs to be called after sending spell log - ModifyPower(powertype, Damage); + pVictim->ModifyPower(powertype, Damage); } uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint32 pdamage, DamageEffectType damagetype, uint32 stack) And it works fine for me. Patch ported to MANGOS from Trinity Core but i forgot who's the author
  6. It doesn't removing when you get attacked by any spells, only holy spells are bugged. For example if a paladin hits you by judgement and your dispersion is removed
  7. I found a bug on 8492: 1. pick 2 holy paladins 2. join them to group 3. first paladin uses Beacon of Light on second paladin 4. second paladin uses Beacon of Light on first paladin 5. Bug... Beacon of Light does not heal anymore until both buffs are expired I think it's because a same spell icon or maybe we need add it to IsSingleFromSpellSpecificPerCaster ? Another bug: 1. pick 1 holy paladin and any other class 2. join them to group 3. use Beacon of Light of self 4. use .aura 57975 on self - you affected by Wound poison healing reduce for 50% 5. use any healing spell on second member of your group 6. Look to combat log - as you can see the BUG: you have got 100% heal from healing spell that used on your party member That is impossible to beat holy paladin for warrior, rogue or hunter if paladin using Beacon of Light on self and healing group member
  8. Here a typo PROC_FLAG_SUCCESSFUL_MILEE_HIT Should be PROC_FLAG_SUCCESSFUL_MELEE_HIT
  9. Are you sure about this? I think original author is Astellar http://getmangos.ru/forum/showthread.php?t=19938&highlight=haunt
  10. Are you learned a talent for first rank? It works for me - you should have a talent to learn spell from trainer
  11. any updates? patch is dead?
  12. Confirmed on 8358. It doesn't increase dodge, but AP part is works
  13. Mangos rev 8342 with patch from last Lightguard's version of patch with ItemTarget typo correction and many other patches http://filebeam.com/5cf578f4e163194e6c4c95b640e5135e.jpg i doesn't know how to reproduce it
  14. Patch is outdated, can you update for new revisions?
  15. Alternative patch already written by MaS0n (Tanatos on getmangos.eu) http://getmangos.ru/forum/showthread.php?t=19973 . Tested by me and many peoples that used my compilations, works fine
  16. Please doesn't use that old revision. That includes a bugged version of Vellums patch that cause a crashes with DoCreateItem
  17. Big thanks, it's save my time
  18. Does patch affect on player loot? Because i can't looting a players on BG's after using it on my server. Can someone confirm?
  19. http://filebeam.com/d332eaac45b0fd52a1cae63b5f50d4f4.jpg but i used too many patches and line number can be different. I can post a code of that functions if you want. Crash happens on pItem->SendUpdateToPlayer( this );
  20. crash http://filebeam.com/c6a48e119faba43090be0277cd6f7a43.jpg and maybe that crash too http://filebeam.com/b76c90529bf145f6eab09939fa387491.jpg
  21. Can you upload patch to filebeam or paste2.org? Because highlighting is bugged... replaced to [i]
  22. Another patch http://getmangos.ru/forum/showthread.php?t=18776
  23. Confirmed, with cheating fix you can't enchant rings.
  24. You make a typo in Entrapment first rank Should be 19184, not 19384
  25. cleaned patch from first post diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index df41fba..35cec98 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5139,6 +5139,9 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu // Siphon Life case 63108: { + // Glyph of Siphon Life + if (this->HasAura(56216)) + triggerAmount += triggerAmount * 25 / 100; basepoints0 = int32(damage * triggerAmount / 100); triggered_spell_id = 63106; break;
×
×
  • 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