Sarjuuk
-
Posts
99 -
Joined
-
Last visited
-
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by Sarjuuk
-
-
had the following bug:
Terokkar: spirit towers didn't reset after the six hours where up. All towers belonged to the old faction and the next player triggering the update-function recaptured the whole zone.
MaNGOS/0.12.0 r7907
ScriptDev2 for MaNGOS 7871+
minor custom patches, so i'm not entirely sure, whether its the openPvP-Patchs fault or not.
-
did you test this?
i tried something similar a while ago , but it didn't work
-
well, in this special case the corpse should despawn, but i doubt that this could be applied to everything else.
-
Ttwo smal things.
First. The tooltip says its only affected by Rejuv., Regrowth, Lifebloom and Wild Growth. This is already checked with SPELLFAMILY_DRUID over SPELL_AURA_PERIODIC_HEAL. Frenzied Regeneration and Tranquility both aren't periodic Heals but periodic Triggers and druids don't have any other healing over time-spells.
second:
This simplyfication should make it easier to look forward to implement this Glyph-Spell, as it would need to go over every single periodic Heal-Aura and check, weather caster and owner are identical.
maybe the second idea isn't so great, but i simply wanted to mention it ^.^
-
oh right, thank you.
I don't think that it uses charges. My guess is, that it's a bug or "custom feature" in the targeting.
currently Is: all enemies in range
should be: two unstealthed enemies in range.
Dummy gets triggered once a second, casts two stars. 10 Seconds => 20 stars.
But dont ask me, how to change the targeting behaviour^^
-
What bug does the patch fix? What features does the patch add?
implements Spell:18562, not consuming specific HoTs if caster has named Glyph equipped.
For which repository revision was the patch created?
master @ e1139e3f7001f512cca6fef459aecc43a99ef879
Is there a thread in the bug report section or at lighthouse?
none found
Who has been writing this patch?
Sarjuuk
-
whoops..
may be deleted (sorry)
-
it should scale with spellower since 3.0.x, but it doesn't
so, confirmed...
-
First of all, the devs dont like UPDATE-Statements, try DELETE/INSERT instead.
Second. If the tooltip says "cannot occure more than X per minute" its adressing to the internal cooldown of the item, not the procrate.
So its something like:
DELETE FROM `spell_proc_event` WHERE `entry`IN (55018, 55019); INSERT INTO `spell_proc_event` VALUES (55018, 0, 0, 0, 0, 0, X, Y, 0, 0, 60), (55019, 0, 0, 0, 0, 0, X, Y, 0, 0, 60);
both spells already have a chance given, so you don't need to insert it again.
replace X with the appropriate procFlags and Y with whatever-procEx-is and you are ready to go^^
-
What bug does the patch fix? What features does the patch add?
SpellPushback changed with 3.0. Its now delaying by a fixed ammount for normal spells (500ms) and a percentage for channeled spells (25%)
SpellPushback may only occur twice per spell.
Any Talents, previously giving a %chance to resist pushback are now giving a reduction to the fixed value. Renamed SpellAura:149, to reflect this new behaviour.
For which repository revision was the patch created?
master @ 08b475203194da030de1f4c0c57bdf6215c0170e
Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.
none
Who has been writing this patch? Please include either forum user names or email addresses.
Sarjuuk
Reference:
Diff:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 53a2327..7ef2f44 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5189,18 +5189,20 @@ void Spell::Delayed() if (m_spellState == SPELL_STATE_DELAYED) return; // spell is active and can't be time-backed + if(isDelayableNoMore()) // Spells may only be delayed twice + return; + // spells not loosing casting time ( slam, dynamites, bombs.. ) if(!(m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_DAMAGE)) return; - //check resist chance - int32 resistChance = 100; //must be initialized to 100 for percent modifiers - ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,resistChance, this); - resistChance += m_caster->GetTotalAuraModifier(SPELL_AURA_RESIST_PUSHBACK) - 100; - if (roll_chance_i(resistChance)) - return; + //check pushback reduce + int32 delaytime = 500; // spellcasting delay is normally 500ms + int32 delayReduce = 100; // must be initialized to 100 for percent modifiers + ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME, delayReduce, this); + delayReduce += m_caster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100; - int32 delaytime = GetNextDelayAtDamageMsTime(); + delaytime -= delaytime * delayReduce / 100; if(int32(m_timer) + delaytime > m_casttime) { @@ -5224,14 +5226,16 @@ void Spell::DelayedChannel() if(!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER || getState() != SPELL_STATE_CASTING) return; - //check resist chance - int32 resistChance = 100; //must be initialized to 100 for percent modifiers - ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,resistChance, this); - resistChance += m_caster->GetTotalAuraModifier(SPELL_AURA_RESIST_PUSHBACK) - 100; - if (roll_chance_i(resistChance)) + if(isDelayableNoMore()) // Spells may only be delayed twice return; - int32 delaytime = GetNextDelayAtDamageMsTime(); + //check pushback reduce + int32 delaytime = GetSpellDuration(m_spellInfo) * 25 / 100; // channeling delay is normally 25% of its time per hit + int32 delayReduce = 100; // must be initialized to 100 for percent modifiers + ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,delayReduce, this); + delayReduce += m_caster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100; + + delaytime -= delaytime * delayReduce / 100; if(int32(m_timer) < delaytime) { diff --git a/src/game/Spell.h b/src/game/Spell.h index 5befc67..4749433 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -453,7 +453,14 @@ class Spell uint8 m_runesState; uint8 m_delayAtDamageCount; - int32 GetNextDelayAtDamageMsTime() { return m_delayAtDamageCount < 5 ? 1000 - (m_delayAtDamageCount++)* 200 : 200; } + bool isDelayableNoMore() + { + if(m_delayAtDamageCount >= 2) + return true; + + m_delayAtDamageCount++; + return false; + } // Delayed spells system uint64 m_delayStart; // time of spell delay start, filled by event handler, zero = just started diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h index 5d401b2..55eeab8 100644 --- a/src/game/SpellAuraDefines.h +++ b/src/game/SpellAuraDefines.h @@ -191,7 +191,7 @@ enum AuraType SPELL_AURA_PERSUADED = 146, SPELL_AURA_ADD_CREATURE_IMMUNITY = 147, SPELL_AURA_RETAIN_COMBO_POINTS = 148, - SPELL_AURA_RESIST_PUSHBACK = 149, // Resist Pushback + SPELL_AURA_REDUCE_PUSHBACK = 149, // Reduce Pushback SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT = 150, SPELL_AURA_TRACK_STEALTHED = 151, // Track Stealthed SPELL_AURA_MOD_DETECTED_RANGE = 152, // Mod Detected Range diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 08fef1f..a3b6e8b 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -199,7 +199,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= &Aura::HandleUnused, //146 SPELL_AURA_PERSUADED obsolete? &Aura::HandleNULL, //147 SPELL_AURA_ADD_CREATURE_IMMUNITY &Aura::HandleAuraRetainComboPoints, //148 SPELL_AURA_RETAIN_COMBO_POINTS - &Aura::HandleNoImmediateEffect, //149 SPELL_AURA_RESIST_PUSHBACK + &Aura::HandleNoImmediateEffect, //149 SPELL_AURA_REDUCE_PUSHBACK &Aura::HandleShieldBlockValue, //150 SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT &Aura::HandleAuraTrackStealthed, //151 SPELL_AURA_TRACK_STEALTHED &Aura::HandleNoImmediateEffect, //152 SPELL_AURA_MOD_DETECTED_RANGE implemented in Creature::GetAttackDistance diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index abbe272..fa47cd6 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -10207,7 +10207,7 @@ bool InitTriggerAuraData() isTriggerAura[sPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE] = true; isNonTriggerAura[sPELL_AURA_MOD_POWER_REGEN]=true; - isNonTriggerAura[sPELL_AURA_RESIST_PUSHBACK]=true; + isNonTriggerAura[sPELL_AURA_REDUCE_PUSHBACK]=true; return true; }
pleas bear with me and my nonexistent git-account ;o
-
i still hope they'll do :]
-
maybe, because it should deal area-damage
our beloved wiki: Leo
Tank him at the edge of his hitbox to protect melee DPS from being hit by the Chaos Blast splash. -
irc://eu.freenode.net/mmorpg-dev
but you'll rarely find a developer there
-
What features does the patch add?
Makes the following Relics work.
For which SubVersion revision was the patch created?r6494
Is there a thread in the bug report section?
none for the others...
Who has been writing this patch?
Sarjuuk
Code?
notes?
As far as i'm concerned, they are all working as intended. The style for item: 28372 is argueable. If someone has a bette idea i would be glad to hear it.
-
What bug does the patch fix?
Updates Heart of the Wild to meet official behaviour. Currently it increases AP in CatForm by 20%. Should be 10%.
For which SubVersion revision was the patch created?
r6414
Is there a thread in the bug report section?
[bug] Druids Attack Power Is Wrong, Calculation of Druid is wrong
Who has been writing this patch?
Me & myself
Code:
Index: SpellAuras.cpp =================================================================== --- SpellAuras.cpp (revision 6414) +++ SpellAuras.cpp (working copy) @@ -5023,7 +5023,10 @@ if ((*i)->GetSpellProto()->SpellIconID == 240 && (*i)->GetModifier()->m_miscvalue == 3) { int32 HotWMod = (*i)->GetModifier()->m_amount; - m_target->CastCustomSpell(m_target, HotWSpellId, &HotWMod, NULL, NULL, true, NULL, this); + if(GetModifier()->m_miscvalue == FORM_CAT) + HotWMod /= 2; + + m_target->CastCustomSpell(m_target, HotWSpellId, &HotWMod, NULL, NULL, true, NULL, this); break; } }
-
*.diff updated to rev6386
still working, still an exception
-
they are, but they don't use the same FamilyFlags..
if( m_spellInfo->SpellFamilyName != SPELLFAMILY_DRUID || m_spellInfo->SpellFamilyFlags != 0x0000000000020000 )
-
noted:
But i won't go into it, until the current patch is either accepted or rejected...
-
updated first post.
hopefully it's sufficient
-
eww...
I'll put it in a separated *.diff, or the original patch isn't going anywhere, because it changes to often.
note: <strike>althoug it should work it's not guaranteed to do so and it's untested</strike> works for me...
-
well, i don't know, wheather it's supposed to.
both spells increase your resistance to fire but, have different secondary effects
/e:
<strike>a cookie for the one, finding out, why the part armor-DefStance is working, while stamina-LotP isn't. The structure is perfectly the same.
shortend code part at pastebin.com</strike>
/e ²: Cookie to self, uploading corrected *.diff
/e ³: up and working, no problems noticed : original
-
updated first post:
- Defensive Stance vs. Scroll of Protection added
- multi family checks simplified
<strike>functionality not tested though</strike>
/e: LotP vs. Stamina not working for some reason .. invastigating
-
hmm, it's possible, but i fear, it'll suffer vom the same problem like "LotP vs. Stamina"
[patch][8340] Torment the weak - dmg calculation
in ... acceptedOld
Posted
so, if i'm not mistaken, the line should read something like
/e: I've to admit, i'm confused about SpellFamilyFlags3. It doesn't matter in this case, but I'd appreciate some enlightenment
But If I'm actually wrong (again) than the Flag would be "0x000000080000900020200021" as Fireball has 0x8 set for it.