Jump to content

Feanordev

Members
  • Posts

    66
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

About Feanordev

  • Birthday 01/01/1

Feanordev's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. Pretty much info you can find @ http://us.battle.net/wow/en/forum/topic/2369919408 (hit rating changes heartbeat break rate where hit rating cap makes it unable to break by heartbeat also it seems it affectt PvE only (mobs))
  2. It is run every ~100 ms as far as I know (not sure how it differs on server basis etc but havent seen time_diff lower than 50ms ?)
  3. Updated: Now dispel chances are properly taken for caster/target. thx for pointing out as I didnt test at diff targets, now everything is fine. diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 40c9709..ee7d6bc 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -9041,9 +9041,34 @@ void Spell::EffectStealBeneficialBuff(SpellEffectIndex eff_idx) { // Random select buff for dispel SpellAuraHolder *holder = steal_list[urand(0, list_size-1)]; - // Not use chance for steal - // TODO possible need do it - success_list.push_back(SuccessList::value_type(holder->GetId(),holder->GetCasterGuid())); + + int32 miss_chance = 0; + // Apply dispel mod from aura caster + + Unit * caster = holder->GetCaster(); + Unit * target = holder->GetTarget(); + if(!caster || !target) + continue; + + if (Player* modOwner = caster->GetSpellModOwner()) + { + modOwner->ApplySpellMod(holder->GetSpellProto()->Id, SPELLMOD_RESIST_DISPEL_CHANCE, miss_chance, this); + miss_chance += modOwner->GetTotalAuraModifier(SPELL_AURA_MOD_DISPEL_RESIST); + } + + if (caster != target) + { + if (Player* modOwner = target->GetSpellModOwner()) + { + modOwner->ApplySpellMod(holder->GetSpellProto()->Id, SPELLMOD_RESIST_DISPEL_CHANCE, miss_chance, this); + miss_chance += modOwner->GetTotalAuraModifier(SPELL_AURA_MOD_DISPEL_RESIST); + } + } + + // Try dispel + if (!roll_chance_i(miss_chance)) + success_list.push_back(SuccessList::value_type(holder->GetId(),holder->GetCasterGuid())); + else m_caster->SendSpellMiss(unitTarget, holder->GetSpellProto()->Id, SPELL_MISS_RESIST); // Remove buff from list for prevent doubles for (StealList::iterator j = steal_list.begin(); j != steal_list.end(); )
  4. so seems it must take consideration of both then ^^
  5. Then change WorldSession::HandleChannelPasswordOpcode WorldSession::HandleChannelSetOwnerOpcode etc... add this for example to each to prevent handling slash commands... (or send proper message to player that he has no priviledges to do it) if (GetSecurity < SEC_MODERATOR) return;
  6. Change { "password", SEC_PLAYER, false, &ChatHandler::HandleAccountPasswordCommand, "", NULL }, to { "password", SEC_GAMEMASTER, false, &ChatHandler::HandleAccountPasswordCommand, "", NULL },
  7. Yes Im sure about aura's casters DISPEL_RESIST mod (for example Silent Resolve talent of priest - it reduces change your helpful spells will be dispelled - therfore if you buff someone else, it must be chance lowering must be taken from aura caster itself) Also I have used this patch for almost 1 year now and everything seems to work pretty much fine
  8. Well, thing is I've heard player can (with really small chance) lose character inbetween DELETE and INSERT query. and REPLACE prevents such case.
  9. If you want tips, maybe do it in ::Update functions (either Player::Update or Unit::Update with RemoveAuraByType and urand(0, 100) < 5 for example ?
  10. Well, PvP Timeout is 5 sec so then why wouldnt training dummy be... Longest damaging cast I recall is Soul Fire which is 4 sec
  11. Well I remember Ascent implemented somekind of this idea tho it wasnt based on different boxes, the idea was to handle map as... per map, every crash was unloading map and reloading it so if crash happened to instance, it was only single instance being shut-down and rest of world was still up. Afaik this idea was abandoned long time ago so dunno if its anyhow related nowadays...
  12. Little bit of bump as its kinda important, I'm not sure how properly it was working before rewrite but nowadays many encounters are pretty heavy (tank must run all the time to keep boss faced, otherway it tries to run behind him, making encounters like Grobbulus randomly wipe raid cause of his frontal breath and adds spawn cause of that ) I hadn't time to check how this class works but adding just 90 left/right degrees limit should fix all the problems imo
  13. About console spam, you can filter things in config file, you probably use level3 logging which is meant for debugging. About group... that would be kinda problematic, you would need to make some global @ server, which at first player would be initialized and at other players just taken in...
  14. Ye jluis859 I got banned @ maly32167 and never got answer about unban but that shouldn't matter on that whether patch is checked or not I hope...
  15. Hmm Vladimir, little offtopic: why is spell_affect only in mangos zero ? It could be useful @ all versions
×
×
  • 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