[Bots] Add Bot-specific Spell Settings. (#2553)

* [Bots] Add Bot-specific Spell Settings.

# Notes
- Allows players to set `priority`, `min_level`, `max_level`, `min_hp`, `max_hp`, and `is_enabled` settings per spell based on targeted bot.
- Lets players disable spells they don't want their bots casting or change the criteria they cast them at if they want.

* Update botspellsai.cpp

* Update 2022_11_19_bot_spell_settings.sql

* Typo.

* Update botspellsai.cpp

* Cleanup and add Reload Methods to Perl/Lua.
This commit is contained in:
Alex King
2022-11-27 14:46:36 -05:00
committed by GitHub
parent f6c5560e9c
commit 2d364e2fd1
16 changed files with 1583 additions and 122 deletions
+24
View File
@@ -106,6 +106,26 @@ void Perl_Bot_SetExpansionBitmask(Bot* self, int expansion_bitmask, bool save)
self->SetExpansionBitmask(expansion_bitmask, save);
}
bool Perl_Bot_ReloadBotDataBuckets(Bot* self)
{
return self->GetBotDataBuckets();
}
bool Perl_Bot_ReloadBotOwnerDataBuckets(Bot* self)
{
return self->GetBotOwnerDataBuckets();
}
bool Perl_Bot_ReloadBotSpells(Bot* self)
{
return self->AI_AddBotSpells(self->GetBotSpellID());
}
void Perl_Bot_ReloadBotSpellSettings(Bot* self)
{
self->LoadBotSpellSettings();
}
bool Perl_Bot_HasBotSpellEntry(Bot* self, uint16 spellid)
{
return self->HasBotSpellEntry(spellid);
@@ -134,6 +154,10 @@ void perl_register_bot()
package.add("HasBotItem", &Perl_Bot_HasBotItem);
package.add("HasBotSpellEntry", &Perl_Bot_HasBotSpellEntry);
package.add("OwnerMessage", &Perl_Bot_OwnerMessage);
package.add("ReloadBotDataBuckets", &Perl_Bot_ReloadBotDataBuckets);
package.add("ReloadBotOwnerDataBuckets", &Perl_Bot_ReloadBotOwnerDataBuckets);
package.add("ReloadBotSpells", &Perl_Bot_ReloadBotSpells);
package.add("ReloadBotSpellSettings", &Perl_Bot_ReloadBotSpellSettings);
package.add("RemoveBotItem", &Perl_Bot_RemoveBotItem);
package.add("SetExpansionBitmask", (void(*)(Bot*, int))&Perl_Bot_SetExpansionBitmask);
package.add("SetExpansionBitmask", (void(*)(Bot*, int, bool))&Perl_Bot_SetExpansionBitmask);