mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-31 11:51:28 +00:00
Merge branch 'master' of git://github.com/EQEmu/Server
This commit is contained in:
commit
6a4f61d3a3
@ -1,2 +1,5 @@
|
||||
EQEmu - Custom Game Implementation for EverQuest
|
||||
|
||||
TODO: A less useless readme file.
|
||||
|
||||
Dependencies can be obtained at http://eqemu.github.com/
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||
-------------------------------------------------------
|
||||
== 03/2/2013 ==
|
||||
Bad_Captain: Fixed Merc depop bug.
|
||||
Bad_Captain: Added merc rest regen.
|
||||
Bad_Captain: Fixed merc group spell casting bug where mercs would continue to try to cast group buffs on pets of caster who didn't have Pet Affinity AA.
|
||||
|
||||
|
||||
== 03/1/2013 ==
|
||||
Bad_Captain: Fixed Merc duplicate save bug.
|
||||
Bad_Captain: Focus items, spell_scale and heal_scale now work implemented and new merc equipment (with focus items).
|
||||
|
||||
@ -1441,7 +1441,6 @@ bool Merc::Process()
|
||||
{
|
||||
SetMercCharacterID(0);
|
||||
SetOwnerID(0);
|
||||
SetID(0);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1479,13 +1478,13 @@ bool Merc::Process()
|
||||
CalcRestState();
|
||||
|
||||
if(GetHP() < GetMaxHP())
|
||||
SetHP(GetHP() + CalcHPRegen());
|
||||
SetHP(GetHP() + CalcHPRegen() + RestRegenHP);
|
||||
|
||||
if(GetMana() < GetMaxMana())
|
||||
SetMana(GetMana() + CalcManaRegen());
|
||||
SetMana(GetMana() + CalcManaRegen() + RestRegenMana);
|
||||
|
||||
if(GetEndurance() < GetMaxEndurance())
|
||||
SetEndurance(GetEndurance() + CalcEnduranceRegen());
|
||||
SetEndurance(GetEndurance() + CalcEnduranceRegen() + RestRegenEndurance);
|
||||
}
|
||||
|
||||
if(confidence_timer.Check()) {
|
||||
@ -2350,21 +2349,36 @@ bool Merc::AICastSpell(int8 iChance, int32 iSpellTypes) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int32 TempDontBuffMeBeforeTime = tar->DontBuffMeBefore();
|
||||
uint32 TempDontBuffMeBeforeTime = tar->DontBuffMeBefore();
|
||||
|
||||
if(AIDoSpellCast(selectedMercSpell.spellid, tar, -1, &TempDontBuffMeBeforeTime)) {
|
||||
if(TempDontBuffMeBeforeTime != tar->DontBuffMeBefore())
|
||||
tar->SetDontBuffMeBefore(TempDontBuffMeBeforeTime);
|
||||
|
||||
if(AIDoSpellCast(selectedMercSpell.spellid, tar, -1))
|
||||
castedSpell = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!castedSpell && tar->GetPet()) {
|
||||
|
||||
//don't cast group spells on pets
|
||||
if(IsGroupSpell(selectedMercSpell.spellid)
|
||||
|| spells[selectedMercSpell.spellid].targettype == ST_Group
|
||||
|| spells[selectedMercSpell.spellid].targettype == ST_GroupTeleport ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!tar->GetPet()->IsImmuneToSpell(selectedMercSpell.spellid, this)
|
||||
&& (tar->GetPet()->CanBuffStack(selectedMercSpell.spellid, mercLevel, true) >= 0)) {
|
||||
|
||||
int32 TempDontBuffMeBeforeTime = tar->DontBuffMeBefore();
|
||||
uint32 TempDontBuffMeBeforeTime = tar->DontBuffMeBefore();
|
||||
|
||||
if(AIDoSpellCast(selectedMercSpell.spellid, tar->GetPet(), -1, &TempDontBuffMeBeforeTime)) {
|
||||
if(TempDontBuffMeBeforeTime != tar->DontBuffMeBefore())
|
||||
tar->SetDontBuffMeBefore(TempDontBuffMeBeforeTime);
|
||||
|
||||
if(AIDoSpellCast(selectedMercSpell.spellid, tar->GetPet(), -1))
|
||||
castedSpell = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4644,10 +4658,12 @@ Merc* Merc::LoadMerc(Client *c, MercTemplate* merc_template, uint32 merchant_id,
|
||||
merc->drakkin_heritage = c->GetMercInfo().drakkinHeritage;
|
||||
merc->drakkin_tattoo = c->GetMercInfo().drakkinTattoo;
|
||||
merc->drakkin_details = c->GetMercInfo().drakkinDetails;
|
||||
|
||||
database.LoadMercBuffs(merc);
|
||||
}
|
||||
|
||||
if(merc->GetMercID()) {
|
||||
database.LoadMercBuffs(merc);
|
||||
}
|
||||
|
||||
merc->LoadMercSpells();
|
||||
|
||||
return merc;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user