mirror of
https://github.com/EQEmu/Server.git
synced 2026-02-22 10:32:25 +00:00
Merc logic fix for heal spells - allows mercs to select fast healing spells as a 'standard' healing spell & new rule for unsuspend
This commit is contained in:
parent
67a95b59a7
commit
79f9433dfa
@ -163,6 +163,7 @@ RULE_INT(Mercs, AggroRadius, 100) // Determines the distance from which a merc
|
||||
RULE_INT(Mercs, AggroRadiusPuller, 25) // Determines the distance from which a merc will aggro group member's target, if they have the group role of puller (also used to determine the distance at which a healer merc will begin healing a group member, if they have the group role of puller)
|
||||
RULE_INT(Mercs, ResurrectRadius, 50) // Determines the distance from which a healer merc will attempt to resurrect a group member's corpse
|
||||
RULE_INT(Mercs, ScaleRate, 100)
|
||||
RULE_BOOL(Mercs, AllowMercSuspendInCombat, true)
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(Guild)
|
||||
|
||||
@ -940,7 +940,7 @@ bool IsRegularSingleTargetHealSpell(uint16 spell_id)
|
||||
{
|
||||
if(spells[spell_id].effectid[0] == 0 && spells[spell_id].base[0] > 0 &&
|
||||
spells[spell_id].targettype == ST_Target && spells[spell_id].buffduration == 0 &&
|
||||
!IsFastHealSpell(spell_id) && !IsCompleteHealSpell(spell_id) &&
|
||||
!IsCompleteHealSpell(spell_id) &&
|
||||
!IsHealOverTimeSpell(spell_id) && !IsGroupSpell(spell_id))
|
||||
return true;
|
||||
|
||||
|
||||
@ -5468,7 +5468,7 @@ void Client::SuspendMercCommand() {
|
||||
Merc* merc = Merc::LoadMerc(this, &zone->merc_templates[GetMercInfo().MercTemplateID], 0, true);
|
||||
if(merc)
|
||||
{
|
||||
SpawnMerc(merc, true);
|
||||
SpawnMerc(merc, false);
|
||||
Log.Out(Logs::General, Logs::Mercenaries, "SuspendMercCommand Successful Unsuspend for %s.", GetName());
|
||||
}
|
||||
else
|
||||
@ -5482,6 +5482,15 @@ void Client::SuspendMercCommand() {
|
||||
{
|
||||
Merc* CurrentMerc = GetMerc();
|
||||
|
||||
|
||||
if (!RuleB(Mercs, AllowMercSuspendInCombat))
|
||||
{
|
||||
if (!CheckCanSpawnMerc(GetMercInfo().MercTemplateID))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(CurrentMerc && GetMercID())
|
||||
{
|
||||
CurrentMerc->Suspend();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user