Jump to content

Lightguard

Members
  • Posts

    208
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Lightguard

  1. This does it, but this isn't the general way it should work.

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 9da84e6..222571c 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -3260,6 +3260,23 @@ void Aura::HandleModFear(bool apply, bool Real)
            return;
    
        m_target->SetFeared(apply, GetCasterGUID(), GetId());
    +
    +   if(!apply && m_spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK)
    +     {
    +       Unit* caster = GetCaster();
    +       int32 spell_id = 0;
    +       if(!caster || caster->GetTypeId() != TYPEID_PLAYER)
    +          return;
    +       else
    +       {
    +           if(caster->HasAura(53754, 0))
    +              spell_id = 60946;
    +           else if(caster->HasAura(53759, 0))
    +              spell_id = 60947;
    +       }
    +       if(spell_id)
    +          m_target->CastSpell(m_target, spell_id, false);
    +    }
    }
    
    void Aura::HandleFeignDeath(bool apply, bool Real)
    
    

  2. As this variable is used only for warriors, for all other classes it should be false (as partly you said).

    This should solve it, please take a look at it.

    diff --git a/src/game/Player.cpp b/src/game/Player.cpp
    index fd68866..1471f0c 100644
    --- a/src/game/Player.cpp
    +++ b/src/game/Player.cpp
    @@ -3331,6 +3331,9 @@ bool Player::resetTalents(bool no_cost)
        //FIXME: remove pet before or after unlearn spells? for now after unlearn to allow removing of talent related, pet affecting auras
        RemovePet(NULL,PET_SAVE_NOT_IN_SLOT, true);
    
    +    m_canTitanGrip = false;
    +    AutoUnequipOffhandIfNeed();
    +       
        return true;
    }
    
    @@ -18695,6 +18698,12 @@ void Player::AutoUnequipOffhandIfNeed()
        }
        else
        {
    +        MailItemsInfo mi;
    +        Item* item = offItem;
    +        mi.AddItem(item->GetGUIDLow(), item->GetEntry(), item);
    +        std::string subject = GetSession()->GetMangosString(LANG_NOT_EQUIPPED_ITEM);
    +        RemoveItem(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND, true);
    +        WorldSession::SendMailTo(this, MAIL_NORMAL, MAIL_STATIONERY_GM, GetGUIDLow(), GetGUIDLow(), subject, 0, &mi, 0, 0, MAIL_CHECK_MASK_NONE); 
            sLog.outError("Player::EquipItem: Can's store offhand item at 2hand item equip for player (GUID: %u).",GetGUIDLow());
        }
    }

    patchfile

  3. hehhe, CanTitanGrip function looks strange:)

     
    08:12:20 MSG_TALENT_WIPE_CONFIRM
    08:12:20 Aura 108 now is remove mode 0
    08:12:20 Aura 42 now is remove mode 0
    08:12:20 Aura 42 now is remove mode 0
    08:12:20 Aura 52 now is remove mode 0
    08:12:20 Aura 42 now is remove mode 0
    08:12:20 Aura 42 now is remove mode 0
    08:12:20 Aura 122 now is remove mode 0
    08:12:20 AURA MOD OFFHAND DAMAGE
    08:12:20 Aura 108 now is remove mode 0
    08:12:20 Aura 108 now is remove mode 0
    08:12:20 Aura 42 now is remove mode 0
    08:12:20 Aura 108 now is remove mode 0
    [color=red]can titan's grip[/color]
    08:12:20 08:12:20 Sending SMSG_SPELL_GO id=14867
    08:12:20 AchievementMgr::UpdateAchievementCriteria(28, 14867, 0, 0)
    08:12:20 AchievementMgr::UpdateAchievementCriteria(69, 14867, 0, 0)
    08:12:20 Spell: Effect : 3
    08:12:20 WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY
    08:12:24 WORLD: CMSG_CHANNEL_VOICE_CHAT_QUERY
    08:12:24 STORAGE_SIZE: 5
            04 00 00 00 00
    

    2
    2
    222
    22
    2
    22
    222
    2
    222
    
    222
    2
    

  4. I thik we just forgot to add a line to Player::resetTalents:

    diff --git a/src/game/Player.cpp b/src/game/Player.cpp
    index fd68866..8ab28e9 100644
    --- a/src/game/Player.cpp
    +++ b/src/game/Player.cpp
    @@ -3331,6 +3331,9 @@ bool Player::resetTalents(bool no_cost)
        //FIXME: remove pet before or after unlearn spells? for now after unlearn to allow removing of talent related, pet affecting auras
        RemovePet(NULL,PET_SAVE_NOT_IN_SLOT, true);
    
    +    if(GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND))
    +       AutoUnequipOffhandIfNeed();
    +       
        return true;
    }
    

    ::Edit::

    Probably we don't need this " if(GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND))" the function checks it too.

  5. In my dbc (wich is actually for 3.0.8) EffectBasePoints[0] is 2, and [2] is 0. The spell says 6% and i think the bp0 is to divide that but it looks unnecessary, it looks to be better this way, probably not that dynamic, but better.

    ::Edit::

    Modified '3' to 'triggerAmount' on multiple suggestions.

  6. 2

    - This would fix the gnome racial spell Escape Artist

    2

    - 7297

    patch:

    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index 9f9505d..78cd6fd 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -4758,6 +4758,15 @@ void Spell::EffectScriptEffect(uint32 effIndex)
                        unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
                        break;
                    }
    +                // Escape artist
    +                case 20589:
    +                {
    +                    if(!m_caster)
    +                        return;
    +                    m_caster->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
    +                    m_caster->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
    +                    break;
    +                }
                    // Mirren's Drinking Hat
                    case 29830:
                    {

    http://lightguard.tauri.hu/mangos/patches/r_ea.patch

  7. 2

    - Adds the effect of Glyph of Dispel Magic

    2

    - rev. 7297 (Sorry, but our live server still uses this rev.)

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index c572ec9..a5f89ee 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -5126,6 +5126,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                        triggered_spell_id = 28810;
                        break;
                    }
    +                // Glyph of Dispel Magic
    +                case 55677:
    +                {
    +                    if(!target->IsFriendlyTo(this))
    +                        return false;
    +
    +                    basepoints0 = int32(target->GetMaxHealth() * triggerAmount / 100);
    +                    triggered_spell_id = 56131;
    +                    break;
    +                }
                }
                break;
            }
    @@ -11348,4 +11358,4 @@ void Unit::SetPhaseMask(uint32 newPhaseMask, bool update)
        if(IsInWorld())
            if(Pet* pet = GetPet())
                pet->SetPhaseMask(newPhaseMask,true);
    -}
    \\ No newline at end of file
    +} 

  8. The main problem with the familyflags is that we're talking about 20 spells, as Mutilate triggers 2 other spells each of them different every rank, and all requires you to be behind the target, and of course they have different FamilyFlags otherwise it would be too easy.:)

  9. There was something i couldn't solve while trying to fix/implement spells. Pretend that we have usual spell with two spelleffects, normalized weapon dmg. and dummy. The dummy of the spell should use x% of the damage done by the normalized weapon dmg. effect. How is it possible to pass the damage of the first effect to the dummy? In the dummy 'damage' was the value of the dummy effect, m_damage was 0 as i remember. If anyone could tell it'd appreciated.

    Thanks for the answers.:)

×
×
  • 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