mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-11 11:48:37 +00:00
[Quest API] Add ApplySpell() and SetBuffDuration() overloads to Perl/Lua (#3576)
# Perl - Add `$bot->ApplySpell(spell_id, duration, level)`. - Add `$bot->ApplySpell(spell_id, duration, level, allow_pets)`. - Add `$bot->ApplySpellGroup(spell_id, duration, level)`. - Add `$bot->ApplySpellGroup(spell_id, duration, level, allow_pets)`. - Add `$bot->ApplySpellRaid(spell_id)`. - Add `$bot->ApplySpellRaid(spell_id, duration)`. - Add `$bot->ApplySpellRaid(spell_id, duration, level)`. - Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets)`. - Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `$bot->SetSpellDuration(spell_id, duration, level)`. - Add `$bot->SetSpellDuration(spell_id, duration, level, allow_pets)`. - Add `$bot->SetSpellDurationGroup(spell_id, duration, level)`. - Add `$bot->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`. - Add `$bot->SetSpellDurationRaid(spell_id)`. - Add `$bot->SetSpellDurationRaid(spell_id, duration)`. - Add `$bot->SetSpellDurationRaid(spell_id, duration, level)`. - Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`. - Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `$client->ApplySpell(spell_id, duration, level)`. - Add `$client->ApplySpell(spell_id, duration, level, allow_pets)`. - Add `$client->ApplySpellGroup(spell_id, duration, level)`. - Add `$client->ApplySpellGroup(spell_id, duration, level, allow_pets)`. - Add `$client->ApplySpellRaid(spell_id, duration, level)`. - Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets)`. - Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`. - Add `$client->SetSpellDuration(spell_id, duration, level)`. - Add `$client->SetSpellDuration(spell_id, duration, level, allow_pets)`. - Add `$client->SetSpellDurationGroup(spell_id, duration, level)`. - Add `$client->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`. - Add `$client->SetSpellDurationRaid(spell_id, duration, level)`. - Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`. - Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`. - Add `$mob->ApplySpellBuff(spell_id, duration, level)`. - Add `$mob->SetSpellDuration(spell_id, duration, level)`. # Lua - Add `bot:ApplySpell(spell_id, duration, level)`. - Add `bot:ApplySpell(spell_id, duration, level, allow_pets)`. - Add `bot:ApplySpellGroup(spell_id, duration, level)`. - Add `bot:ApplySpellGroup(spell_id, duration, level, allow_pets)`. - Add `bot:ApplySpellRaid(spell_id)`. - Add `bot:ApplySpellRaid(spell_id, duration)`. - Add `bot:ApplySpellRaid(spell_id, duration, level)`. - Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets)`. - Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `bot:SetSpellDuration(spell_id, duration, level)`. - Add `bot:SetSpellDuration(spell_id, duration, level, allow_pets)`. - Add `bot:SetSpellDurationGroup(spell_id, duration, level)`. - Add `bot:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`. - Add `bot:SetSpellDurationRaid(spell_id, duration, level)`. - Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`. - Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `client:ApplySpell(spell_id, duration, level)`. - Add `client:ApplySpell(spell_id, duration, level, allow_pets)`. - Add `client:ApplySpellGroup(spell_id, duration, level)`. - Add `client:ApplySpellGroup(spell_id, duration, level, allow_pets)`. - Add `client:ApplySpellRaid(spell_id, duration, level)`. - Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets)`. - Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`. - Add `client:SetSpellDuration(spell_id, duration, level)`. - Add `client:SetSpellDuration(spell_id, duration, level, allow_pets)`. - Add `client:SetSpellDurationGroup(spell_id, duration, level)`. - Add `client:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`. - Add `client:SetSpellDurationRaid(spell_id, duration, level)`. - Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`. - Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`. - Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`. - Add `mob:ApplySpellBuff(spell_id, duration, level)`. - Add `mob:SetSpellDuration(spell_id, duration, level)`. # Notes - This allows operators to override the spell level.
This commit is contained in:
@@ -10378,7 +10378,7 @@ bool Mob::HasPersistDeathIllusion(int32 spell_id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void Mob::SetBuffDuration(int spell_id, int duration) {
|
||||
void Mob::SetBuffDuration(int spell_id, int duration, int level) {
|
||||
|
||||
/*
|
||||
Will refresh the buff with specified spell_id to the specified duration
|
||||
@@ -10402,22 +10402,20 @@ void Mob::SetBuffDuration(int spell_id, int duration) {
|
||||
|
||||
int buff_count = GetMaxTotalSlots();
|
||||
for (int slot = 0; slot < buff_count; slot++) {
|
||||
|
||||
if (!adjust_all_buffs) {
|
||||
if (IsValidSpell(buffs[slot].spellid) && buffs[slot].spellid == spell_id) {
|
||||
SpellOnTarget(buffs[slot].spellid, this, 0, false, 0, false, -1, duration, true);
|
||||
SpellOnTarget(buffs[slot].spellid, this, 0, false, 0, false, level, duration, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (IsValidSpell(buffs[slot].spellid)) {
|
||||
SpellOnTarget(buffs[slot].spellid, this, 0, false, 0, false, -1, duration, true);
|
||||
SpellOnTarget(buffs[slot].spellid, this, 0, false, 0, false, level, duration, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Mob::ApplySpellBuff(int spell_id, int duration)
|
||||
void Mob::ApplySpellBuff(int spell_id, int duration, int level)
|
||||
{
|
||||
/*
|
||||
Used for quest command to apply a new buff with custom duration.
|
||||
@@ -10435,7 +10433,7 @@ void Mob::ApplySpellBuff(int spell_id, int duration)
|
||||
duration = PERMANENT_BUFF_DURATION;
|
||||
}
|
||||
|
||||
SpellOnTarget(spell_id, this, 0, false, 0, false, -1, duration);
|
||||
SpellOnTarget(spell_id, this, 0, false, 0, false, level, duration);
|
||||
}
|
||||
|
||||
int Mob::GetBuffStatValueBySpell(int32 spell_id, const char* stat_identifier)
|
||||
|
||||
Reference in New Issue
Block a user