Jump to content

[fix][dev]Fingers of Frost, Aura 262


Auntie Mangos

Recommended Posts

someone can renew patch?

patching file src/game/Player.cpp

Hunk #1 succeeded at 19104 (offset 666 lines).

patching file src/game/Spell.cpp

Hunk #1 succeeded at 3076 (offset 100 lines).

Hunk #2 succeeded at 3993 (offset 94 lines).

Hunk #3 succeeded at 4054 (offset 94 lines).

Hunk #4 succeeded at 4100 (offset 94 lines).

Hunk #5 succeeded at 4543 (offset 206 lines).

patching file src/game/SpellAuraDefines.h

patching file src/game/SpellAuras.cpp

Hunk #1 FAILED at 312.

Hunk #2 succeeded at 8179 (offset 735 lines).

1 out of 2 hunks FAILED -- saving rejects to file src/game/SpellAuras.cpp.rej

patching file src/game/SpellAuras.h

Hunk #1 succeeded at 218 with fuzz 1 (offset 6 lines).

patching file src/game/Unit.cpp

Hunk #1 succeeded at 8995 (offset 531 lines).

Hunk #2 succeeded at 9298 (offset 523 lines).

Hunk #3 succeeded at 11261 (offset 618 lines).

Hunk #4 succeeded at 12295 (offset 630 lines).

Hunk #5 succeeded at 13289 (offset 686 lines).

Hunk #6 succeeded at 13673 with fuzz 2 (offset 752 lines).

patching file src/game/Unit.h

Hunk #1 succeeded at 1338 (offset 211 lines).

patch unexpectedly ends in middle of line

Hunk #2 succeeded at 1850 with fuzz 2 (offset 247 lines).

error while patch

Link to comment
Share on other sites

  • Replies 173
  • Created
  • Last Reply

Top Posters In This Topic

mangos [9566]

Error this

Player.cpp

..\\..\\src\\game\\Player.cpp(19131) : error C2248: 'ByteBuffer::append' : cannot access private member declared in class 'ByteBuffer'

d:\\svn\\insider42\\mangos\\src\\shared\\ByteBuffer.h(497) : see declaration of 'ByteBuffer::append'

d:\\svn\\insider42\\mangos\\src\\shared\\ByteBuffer.h(55) : see declaration of 'ByteBuffer'

Link to comment
Share on other sites

someone can renew patch?

patching file src/game/Player.cpp

Hunk #1 succeeded at 19104 (offset 666 lines).

patching file src/game/Spell.cpp

Hunk #1 succeeded at 3076 (offset 100 lines).

Hunk #2 succeeded at 3993 (offset 94 lines).

Hunk #3 succeeded at 4054 (offset 94 lines).

Hunk #4 succeeded at 4100 (offset 94 lines).

Hunk #5 succeeded at 4543 (offset 206 lines).

patching file src/game/SpellAuraDefines.h

patching file src/game/SpellAuras.cpp

Hunk #1 FAILED at 312.

Hunk #2 succeeded at 8179 (offset 735 lines).

1 out of 2 hunks FAILED -- saving rejects to file src/game/SpellAuras.cpp.rej

patching file src/game/SpellAuras.h

Hunk #1 succeeded at 218 with fuzz 1 (offset 6 lines).

patching file src/game/Unit.cpp

Hunk #1 succeeded at 8995 (offset 531 lines).

Hunk #2 succeeded at 9298 (offset 523 lines).

Hunk #3 succeeded at 11261 (offset 618 lines).

Hunk #4 succeeded at 12295 (offset 630 lines).

Hunk #5 succeeded at 13289 (offset 686 lines).

Hunk #6 succeeded at 13673 with fuzz 2 (offset 752 lines).

patching file src/game/Unit.h

Hunk #1 succeeded at 1338 (offset 211 lines).

patch unexpectedly ends in middle of line

Hunk #2 succeeded at 1850 with fuzz 2 (offset 247 lines).

error while patch

getting same problems, wish to see an update soon.

Link to comment
Share on other sites

for which core V6a: http://pastebin.ca/1693896 (Currently on my server with around 500 ppl) ?

i try my luck with core 9582, manuell patch

compile error on linux system

MT Player.o -MD -MP -MF .deps/Player.Tpo -c -o Player.o ../../../src/game/Player.cpp

../../../src/game/../shared/ByteBuffer.h: In member function âvoid Player::SendInitialPacketsAfterAddToMap()â:

../../../src/game/../shared/ByteBuffer.h:497: error: âvoid ByteBuffer::append(T) [with T = PackedGuid]â is private

../../../src/game/Player.cpp:19141: error: within this context

MT Unit.o -MD -MP -MF .deps/Unit.Tpo -c -o Unit.o ../../../src/game/Unit.cpp

../../../src/game/Unit.cpp:13946:2: warning: no newline at end of file

../../../src/game/Unit.cpp:13867: error: expected initializer before âifâ

../../../src/game/Unit.cpp:13869: error: expected declaration before â}â token

Status for this patch: fail

Link to comment
Share on other sites

tried that and got

========== Rebuild All: 10 succeeded, 3 failed, 0 skipped ==========

Errors are

13>LINK : fatal error LNK1181: cannot open input file 'mangosd.lib'

12>LINK : fatal error LNK1181: cannot open input file '.\\game__win32_release\\game.lib'

10>..\\..\\src\\game\\Player.cpp(19265) : error C2248: 'ByteBuffer::append' : cannot access private member declared in class 'ByteBuffer'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(498) : see declaration of 'ByteBuffer::append'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(55) : see declaration of 'ByteBuffer'

Link to comment
Share on other sites

tried that and got

========== Rebuild All: 10 succeeded, 3 failed, 0 skipped ==========

Errors are

13>LINK : fatal error LNK1181: cannot open input file 'mangosd.lib'

12>LINK : fatal error LNK1181: cannot open input file '.\\game__win32_release\\game.lib'

10>..\\..\\src\\game\\Player.cpp(19265) : error C2248: 'ByteBuffer::append' : cannot access private member declared in class 'ByteBuffer'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(498) : see declaration of 'ByteBuffer::append'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(55) : see declaration of 'ByteBuffer'

That was a problem caused by a MaNGOS commit... (9618) and it was fixed by 9620

Link to comment
Share on other sites

still get

10>..\\..\\src\\game\\Player.cpp(19265) : error C2248: 'ByteBuffer::append' : cannot access private member declared in class 'ByteBuffer'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(498) : see declaration of 'ByteBuffer::append'

10> d:\\source\\mangos\\src\\shared\\ByteBuffer.h(55) : see declaration of 'ByteBuffer'

12>LINK : fatal error LNK1181: cannot open input file '.\\game__win32_release\\game.lib'

========== Rebuild All: 11 succeeded, 2 failed, 0 skipped ==========

as of 9625.

Link to comment
Share on other sites

try adding

SendInitialPacketsAfterAddToMap();

in void Player::ActivateSpec(uint8 spec) function, here:

//if (plrTalent != m_talents[m_activeSpec]->end())
           //    plrTalent->second->state = PLAYERSPELL_REMOVED;
       }
   }

   SendInitialPacketsAfterAddToMap();

   // set glyphs
   for (uint8 slot = 0; slot < MAX_GLYPH_SLOT_INDEX; ++slot)
   {
       // remove secondary glyph
       if(uint32 oldglyph = m_Glyphs[m_activeSpec][slot])
       {
           if(GlyphPropertiesEntry const *old_gp = sGlyphPropertiesStore.LookupEntry(oldglyph))
           {

this worked for me.

i think it's incorrect, because SendInitialPacketsAfterAddToMap should be used ONLY at player enter to map, i think this is just unneeded sending of info to client. Maybe we can create additional function to place this code into.

Maybe something like this in spellauras.cpp

void Aura::CustomAuraUpdate(uint32 SpellID)
{
   // Juggernaut & Warbringer both need special packet
   // for alowing charge in combat and Warbringer
   // for alowing charge in different stances, too
   if(m_target->HasAura(SpellID))
   {
       WorldPacket aura_update(SMSG_AURA_UPDATE);
       aura_update << m_target->GetPackGUID();
       aura_update << uint8(255);
       if(m_target->HasAura(SpellID))
           aura_update << uint32(SpellID);
       aura_update << uint8(19);
       aura_update << uint8(getLevel());
       aura_update << uint8(1);
       aura_update << uint8(0);
       m_target->GetSession()->SendPacket(&aura_update);
   }
}

and declare it in spellauras.h

NTY

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

i think i found the exact problem here: Juggernaut aura needs a visible slot to make it useable in combat, and mangos isn't doing it:

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index c0aecd8..5a453c8 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -945,6 +945,15 @@ bool Aura::IsNeedVisibleSlot(Unit const* caster) const
            break;
    }

+    // special aura type cases
+    switch (m_spellProto->EffectApplyAuraName[GetEffIndex()])
+    {
+        case SPELL_AURA_262:
+            return true;    // requires visible slot to enable client side effect
+        default:
+            break;
+    }
+
    // passive auras (except totem auras) do not get placed in the slots
    return !m_isPassive || totemAura;
}

juggernaut works with this (no packet hacks ;>), haven't tested others.

Link to comment
Share on other sites

You mean something like this, KAPATEJIb?

NOTE i just started coding and did not test this (lol)

Aura *aur = GetAura(74396, EFFECT_INDEX_0);
uint32 stackAmount = aur->GetStackAmount();
if (aur && (stackAmount => 2))
   aur->SetStackAmount(2);                          [color="Red"]just to limit the initial stacks (dont know if it's needed)[/color]
if (...)                                                           [color="Red"]don't know how to check for casted spells :-S[/color]
   aur->SetStackAmount(stackAmount-1);

Link to comment
Share on other sites

i think i found the exact problem here: Juggernaut aura needs a visible slot to make it useable in combat, and mangos isn't doing it:

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index c0aecd8..5a453c8 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -945,6 +945,15 @@ bool Aura::IsNeedVisibleSlot(Unit const* caster) const
            break;
    }

+    // special aura type cases
+    switch (m_spellProto->EffectApplyAuraName[GetEffIndex()])
+    {
+        case SPELL_AURA_262:
+            return true;    // requires visible slot to enable client side effect
+        default:
+            break;
+    }
+
    // passive auras (except totem auras) do not get placed in the slots
    return !m_isPassive || totemAura;
}

juggernaut works with this (no packet hacks ;>), haven't tested others.

in fact slot is not given based on single aura..and not only 262 needs to get aura slot - several other passive spells too.

if any1 wants to test :

bool Aura::IsNeedVisibleSlot(Unit const* caster) const
{
   bool totemAura = caster && caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->isTotem();

   if (m_spellProto->Attributes & (SPELL_ATTR_UNK7 | SPELL_ATTR_EX_UNK28))
       return true;
   else if (m_spellProto->procFlags)
       return true;
   else if (IsSpellHaveAura(m_spellProto, SPELL_AURA_PROC_TRIGGER_SPELL) || IsSpellHaveAura(m_spellProto, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE) || IsSpellHaveAura(m_spellProto, SPELL_AURA_PROC_TRIGGER_DAMAGE))
       return true;
   // frost fever , TODO : find generic way
   else if (m_spellProto->Id == 59921)
       return true;

   // passive auras (except totem auras) do not get placed in the slots
   return !m_isPassive || totemAura;
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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