View Single Post
  #1  
Old 06-12-2006, 04:12 PM
unicorn97211
Sarnak
 
Join Date: May 2006
Posts: 37
Default Titanium Necro FD Fix

Currently if you feign and the mob has one of your dots active on it, every tick the mob will add you back to his hate list even though you are FD. This took care of it for me....

In attack.cpp->Mob->CommonDamage change
Code:
	if(attacker && damage != -5) {	//no hate if we are completely immune, just laugh it off
		sint32 hate = 0;
		if (attack_skill == ARCHERY)
			hate = 1;	// almost no aggro for archery
		else if(damage < 1)
			hate = 1;
		else if(spell_id != SPELL_UNKNOWN)
			hate = (damage+1) / 2;	// half aggro for spells
		else
			hate = damage; // normal aggro for everything else
		
		mlog(COMBAT__HITS, "Generating hate %d towards %s", hate, attacker->GetName());
		// now add done damage to the hate list
		AddToHateList(attacker, hate, damage, true, false, iBuffTic);
	}
to

Code:
	if(attacker && damage != -5) {	//no hate if we are completely immune, just laugh it off
		sint32 hate = 0;
		if (attack_skill == ARCHERY)
			hate = 1;	// almost no aggro for archery
		else if(damage < 1)
			hate = 1;
		else if(spell_id != SPELL_UNKNOWN)
			hate = (damage+1) / 2;	// half aggro for spells
		else
			hate = damage; // normal aggro for everything else
		
		// EverHood 6/12/06
		if(attacker->IsClient()){
			// check if attacker is feigned
			if(attacker->CastToClient()->GetFeigned()){
				hate = -1; // no hate for feigned attackers
			}
		}
		
		if(hate != -1){
			// attacker generated some hate so 
			// add damage done by attacker to the hate list
			mlog(COMBAT__HITS, "Generating hate %d towards %s", hate, attacker->GetName());
			AddToHateList(attacker, hate, damage, true, false, iBuffTic);
		}

	}
Let me know if this works for anyone else or if it causes any problems my limited testing didn't reveal.
Reply With Quote