Jump to content

reeshack

Members
  • Posts

    54
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

reeshack's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. Also, there is another bug with this spell (and probably generally with all spells using SPELLMOD_COST) - the -50% cost pct modifier is applied after flat modifiers. Let me explain it on an example - Mangle (Cat) 's base cost is 40 energy, using Improved Mangle talent it is 34 energy so under the effect of Berserk it should be (the tooltip also says that) 17 energy. But in current state it seems to me, that the -50% mod is applied to the base value (40) and the flat ones are applied after that, causing Mangle (Cat) cost only 14 energy (40 * 0.50 - 6). Actually, I'm not sure how this priority issue should be handled - are pct mods supposed to be calculated first? Or should be first the modifier, whose aura has been firstly applied?
  2. This is still not correct, because not just spell power bonus should be applied 4x but also other done modifiers (f.e. Shadow Mastery...). That's why I think that reverting 9962 is the best way...
  3. just revert 9962 and it works completely as it should
  4. The damage under 25% is definitely higher, but now it counts only base dmg of drain soul without spell power and done modifiers, which is in my opinion wrong. Before the revision that changed it it worked perfectly right - even the part that it matters on how much health does target have when the spell is casted (because it was implemented in SpellDamageBonusDone which is counted at the time of the whole cast and not at the time of a single tick...).
  5. The post you've linked does not say anything about attacks you make, it is just about that you should gain rage from attacks made to you while having an absorb shield on yourself...
  6. An advice: 1) There is a function "IsAreaOfEffectSpell()" 2) Spell reflection is determined in "Spell::Spell()" in my opinion it is much better to do it there
  7. Yeah, this is exactly what I've just written, no need to repeat Anyway it can be simply fixed by converting to int32 and comparing to 0, like: m_caster->SetPower(POWER_RAGE,int32(m_caster->GetPower(POWER_RAGE)-rage) > 0 ? m_caster->GetPower(POWER_RAGE)-rage : 0 );
  8. This is caused by variable overflow in m_caster->SetPower(POWER_RAGE,m_caster->GetPower(POWER_RAGE)-rage); in it's spell effect as m_caster->CastCustomSpell(unitTarget, 20647, &basePoints0, NULL, NULL, true, 0); consumes 0.1 rage and therefore can GetPower(POWER_RAGE)-rage give you a negative number which is not suitable for uint32.
  9. I wouldn't be so sure about that, crit damage reduction is calculated from the basic combat ratings by multiplying it, so if it was changed in dbc, it would affect it. uint32 GetSpellCritDamageReduction(uint32 damage) const { return GetCombatRatingDamageReduction(CR_CRIT_TAKEN_SPELL, 2.2f, 33.0f, damage); } So that means that either we have to change the from players reduction part, or if it was changed in dbc (afaik in 3.3.3 it is not), we would have to change the crit damage calculation.
  10. I am not sure, but I think that the CD should be handled by spell Lock and Load Marker and not by sql update... EDIT: my idea was to do it somehow like this: diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 95ae494..a0d3701 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2619,6 +2619,13 @@ void Spell::cast(bool skipCheck) AddTriggeredSpell(52874); // Fan of Knives (offhand) } break; + case SPELLFAMILY_HUNTER: + { + // Lock and Load + if (m_spellInfo->Id == 56453) + AddPrecastSpell(67544); // Lock and Load Marker + break; + } case SPELLFAMILY_PALADIN: { // Hand of Reckoning @@ -3959,6 +3966,10 @@ SpellCastResult Spell::CheckCast(bool strict) return SPELL_FAILED_NOT_READY; } + // Lock and Load Marker - sets Lock and Load cooldown + if (m_caster->HasAura(67544) && m_spellInfo->Id == 56453) + return SPELL_FAILED_DONT_REPORT; + // only allow triggered spells if at an ended battleground if( !m_IsTriggeredSpell && m_caster->GetTypeId() == TYPEID_PLAYER) if(BattleGround * bg = ((Player*)m_caster)->GetBattleGround()) but it is rather an advise, have not tested it properly
  11. Don't know if you checked wowwiki in the last weeks, but there has been some updates of the scaling coeficients for Wotlk (http://www.wowwiki.com/Hunter_pet#Pet_scaling, http://www.wowwiki.com/Minion#Minion_scaling, http://www.wowwiki.com/Risen_Ghoul#Stats_and_scaling, and maybe some other, I didn't search for them), hopefully it could help you . To morderek: That was adressed mainly to the author of the thread (sorry for editing but I did not want to make a useless post about it)
  12. My idea was to do it somehow like this diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 611f608..209952a 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2803,7 +2803,13 @@ void Spell::update(uint32 difftime) else if(!IsNextMeleeSwingSpell() && !IsAutoRepeat() && !m_IsTriggeredSpell && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_MOVEMENT)) cancel(); } - + // check if spell aura on target does not exist anymore (for channeled spells) + if ( m_spellState == SPELL_STATE_CASTING && IsChanneledSpell(m_spellInfo) && m_spellInfo->AuraInterruptFlags != 0) + { + Unit *target = m_targets.getUnitTarget(); + if ( !target->HasAura(m_spellInfo->Id) ) + cancel(); + } switch(m_spellState) { case SPELL_STATE_PREPARING: but I am not sure if it does not affect any other spells in a negative way:(
  13. It is completely the same, there is no need to multiply anything by 1.0f and to specify that in a commentary as the patch change basically means that players pet is treated in the same way as player is...
  14. What bug does the patch fix? What features does the patch add? Updates pet resilience sharing for 330a. For which repository revision was the patch created? 9139 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. No. Who has been writing this patch? Please include either forum user names or email addresses. Me. diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 3a86bba..0417a25 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -13077,10 +13077,10 @@ float Unit::GetCombatRatingReduction(CombatRating cr) const return ((Player const*)this)->GetRatingBonusValue(cr); else if (((Creature const*)this)->isPet()) { - // Player's pet have 0.4 resilience from owner + // Player's pet have resilience from owner if (Unit* owner = GetOwner()) if(owner->GetTypeId() == TYPEID_PLAYER) - return ((Player*)owner)->GetRatingBonusValue(cr) * 0.4f; + return ((Player*)owner)->GetRatingBonusValue(cr); } return 0.0f;
  15. Yea if you use f.e. alt hot key for self-targeting and you do not have anybody in target frame, it always fails. If you have an enemy in target frame, it heals him (lol). And sometimes it failes even if you are targeting somebody .
×
×
  • 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