Jump to content

Langerz82

Bug Tester
  • Posts

    64
  • Joined

  • Last visited

  • Days Won

    1
  • Donations

    0.00 GBP 

Bug Comments posted by Langerz82

  1. Try this fix:

    diff --git a/src/game/Object/Unit.cpp b/src/game/Object/Unit.cpp
    index 08ba7cd..408960e 100644
    --- a/src/game/Object/Unit.cpp
    +++ b/src/game/Object/Unit.cpp
    @@ -634,10 +634,11 @@ uint32 Unit::DealDamage(Unit* pVictim, uint32 damage, CleanDamage const* cleanDa
                 victim->SetLootRecipient(this);
     
             if (IsControlledByPlayer()) // more narrow: IsPet(), IsGuardian() ?
    -            victim->LowerPlayerDamageReq(health < damage ? health : damage);
    +            victim->LowerPlayerDamageReq(victim->GetHealth() < damage ? victim->GetHealth() : damage);
    +
         }
     
    -    if (health <= damage)
    +    if (pVictim->GetHealth() <= damage)
         {
             DEBUG_FILTER_LOG(LOG_FILTER_DAMAGE, "DealDamage %s Killed %s", GetGuidStr().c_str(), pVictim->GetGuidStr().c_str());
     
    

     

  2. This is an outdated bug so all the debug lines are out of sync now. I can only guess what the might have been the error and here it is.

     

    diff --git a/src/game/WorldHandlers/SpellAuras.cpp b/src/game/WorldHandlers/SpellAuras.cpp
    index fb14a6f..08095b0 100644
    --- a/src/game/WorldHandlers/SpellAuras.cpp
    +++ b/src/game/WorldHandlers/SpellAuras.cpp
    @@ -5533,6 +5533,10 @@ void SpellAuraHolder::Update(uint32 diff)
             }
         }
     
    +	// DoTs-crash-the-server-r509 - Maybe Fix.
    +	if (!m_target)
    +		return;
    +
         // Channeled aura required check distance from caster
         if (IsChanneledSpell(m_spellProto) && GetCasterGuid() != m_target->GetObjectGuid())
         {
    

    edit: Damage is should not be the issue as it clamped here:

    
        if (Creature* victim = pVictim->ToCreature())
        {
            if (!victim->IsPet() && !victim->HasLootRecipient())
                victim->SetLootRecipient(this);
    
            if (IsControlledByPlayer()) // more narrow: IsPet(), IsGuardian() ?
                victim->LowerPlayerDamageReq(health < damage ? health : damage);
        }

     

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